[Test]
public void BenchmarkPerformance()
{
ManualConfig config = ManualConfig.Create(DefaultConfig.Instance)
.WithOptions(ConfigOptions.DisableOptimizationsValidator).AddLogger(ConsoleLogger.Default)
.AddExporter(MarkdownExporter.GitHub).AddExporter(HtmlExporter.Default).AddExporter(JsonExporter.Default)
.AddValidator(JitOptimizationsValidator.DontFailOnError).AddFilter(new ExcludeAssembliesFilter("Uno"));
Summary? summary = BenchmarkRunner.Run<AppliedKeywordServiceBenchmarks>(config);
}
private class ExcludeAssembliesFilter : IFilter
{
private readonly string[] _excludedAssemblies;
public ExcludeAssembliesFilter(params string[] excludedAssemblies)
{
_excludedAssemblies = excludedAssemblies;
}
public bool Predicate(BenchmarkCase benchmarkCase)
{
foreach (string assembly in _excludedAssemblies)
{
if (benchmarkCase.Descriptor.Type.Assembly.FullName.Contains(assembly))
{
return false;
}
}
return true;
}
}
[Test]
public void BenchmarkPerformance()
{
ManualConfig config = ManualConfig.Create(DefaultConfig.Instance)
.WithOptions(ConfigOptions.DisableOptimizationsValidator).AddLogger(ConsoleLogger.Default)
.AddExporter(MarkdownExporter.GitHub).AddExporter(HtmlExporter.Default).AddExporter(JsonExporter.Default)
.AddValidator(JitOptimizationsValidator.DontFailOnError).AddFilter(new ExcludeAssembliesFilter("Uno"));
Summary? summary = BenchmarkRunner.Run<AppliedKeywordServiceBenchmarks>(config);
}
private class ExcludeAssembliesFilter : IFilter
{
private readonly string[] _excludedAssemblies;
public ExcludeAssembliesFilter(params string[] excludedAssemblies)
{
_excludedAssemblies = excludedAssemblies;
}
public bool Predicate(BenchmarkCase benchmarkCase)
{
foreach (string assembly in _excludedAssemblies)
{
if (benchmarkCase.Descriptor.Type.Assembly.FullName.Contains(assembly))
{
return false;
}
}
return true;
}
}