Skip to content

Commit

Permalink
Simplify benchmarks
Browse files Browse the repository at this point in the history
  • Loading branch information
sungam3r committed Jan 24, 2024
1 parent 70cd068 commit df41b8d
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/Benchmarks/JsonNetBenchmarks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,20 @@ public void Setup()
});
_value = JsonConvert.DeserializeObject<dynamic>(ser)!;

var log = new LoggerConfiguration()
.Destructure.JsonNetTypes()
.CreateLogger();
(_policy, _factory) = Build(c => c.Destructure.JsonNetTypes());
}

private static (IDestructuringPolicy, ILogEventPropertyValueFactory) Build(Func<LoggerConfiguration, LoggerConfiguration> configure)
{
var configuration = new LoggerConfiguration();
var logger = configure(configuration).CreateLogger();

var processor = log.GetType().GetField("_messageTemplateProcessor", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)!.GetValue(log)!;
var processor = logger.GetType().GetField("_messageTemplateProcessor", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)!.GetValue(logger)!;
var converter = processor.GetType().GetField("_propertyValueConverter", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)!.GetValue(processor)!;
_factory = (ILogEventPropertyValueFactory)converter;
var factory = (ILogEventPropertyValueFactory)converter;
var policies = (IDestructuringPolicy[])converter.GetType().GetField("_destructuringPolicies", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)!.GetValue(converter)!;
_policy = policies.First(p => p is JsonNetDestructuringPolicy);
var policy = policies.First(p => p is JsonNetDestructuringPolicy);
return (policy, factory);
}

[Benchmark]
Expand Down

0 comments on commit df41b8d

Please sign in to comment.