Fix performance issue in logger.

This commit is contained in:
Christian Kratky
2020-05-14 00:05:52 +02:00
parent d25b51740b
commit 683bb43486
17 changed files with 56 additions and 43 deletions
@@ -13,8 +13,8 @@ namespace MQTTnet.Benchmarks.Configurations
{
public AllowNonOptimized()
{
Add(JitOptimizationsValidator.DontFailOnError); // ALLOW NON-OPTIMIZED DLLS
Add(Job.InProcess);
AddValidator(JitOptimizationsValidator.DontFailOnError); // ALLOW NON-OPTIMIZED DLLS
AddJob(Job.InProcess);
}
}
}
@@ -7,9 +7,9 @@ namespace MQTTnet.Benchmarks.Configurations
{
public BaseConfig()
{
Add(DefaultConfig.Instance.GetLoggers().ToArray()); // manual config has no loggers by default
Add(DefaultConfig.Instance.GetExporters().ToArray()); // manual config has no exporters by default
Add(DefaultConfig.Instance.GetColumnProviders().ToArray()); // manual config has no columns by default
AddLogger(DefaultConfig.Instance.GetLoggers().ToArray()); // manual config has no loggers by default
AddExporter(DefaultConfig.Instance.GetExporters().ToArray()); // manual config has no exporters by default
AddColumnProvider(DefaultConfig.Instance.GetColumnProviders().ToArray()); // manual config has no columns by default
}
}
}
@@ -9,8 +9,8 @@ namespace MQTTnet.Benchmarks.Configurations
{
public RuntimeCompareConfig()
{
Add(Job.Default.With(ClrRuntime.Net472));
Add(Job.Default.With(CoreRuntime.Core22).With(CsProjCoreToolchain.NetCoreApp22));
AddJob(Job.Default.WithRuntime(ClrRuntime.Net472));
AddJob(Job.Default.WithRuntime(CoreRuntime.Core22).WithToolchain(CsProjCoreToolchain.NetCoreApp22));
}
}
@@ -12,18 +12,14 @@ namespace MQTTnet.Tests.Mockups
return new MqttNetScopedLogger(this, source);
}
public void Publish(MqttNetLogLevel logLevel, string message, object[] parameters, Exception exception)
public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
{
LogMessagePublished?.Invoke(this, new MqttNetLogMessagePublishedEventArgs(new MqttNetLogMessage
{
Level = logLevel,
Message = message
Message = string.Format(message, parameters),
Exception = exception
}));
}
public void Publish(MqttNetLogLevel logLevel, string source, string message, object[] parameters, Exception exception)
{
throw new NotImplementedException();
}
}
}
@@ -6,16 +6,16 @@ using Newtonsoft.Json;
namespace MQTTnet.TestApp.UniversalWindows
{
public class JsonServerStorage : IMqttServerStorage
public sealed class JsonServerStorage : IMqttServerStorage
{
private readonly string _filename = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Retained.json");
readonly string _filename = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Retained.json");
public async Task SaveRetainedMessagesAsync(IList<MqttApplicationMessage> messages)
public Task SaveRetainedMessagesAsync(IList<MqttApplicationMessage> messages)
{
await Task.CompletedTask;
var json = JsonConvert.SerializeObject(messages);
File.WriteAllText(_filename, json);
return Task.CompletedTask;
}
public async Task<IList<MqttApplicationMessage>> LoadRetainedMessagesAsync()
@@ -105,6 +105,9 @@
<AppxManifest Include="Package.appxmanifest">
<SubType>Designer</SubType>
</AppxManifest>
<None Include="..\..\.editorconfig">
<Link>.editorconfig</Link>
</None>
<None Include="MQTTnet.TestApp.UniversalWindows_TemporaryKey.pfx" />
</ItemGroup>
<ItemGroup>