Ocelot/test/Ocelot.Benchmarks/UrlPathToUrlPathTemplateMatcherBenchmarks.cs
2016-10-30 18:59:23 +00:00

40 lines
1.2 KiB
C#

using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Columns;
using BenchmarkDotNet.Configs;
using Ocelot.DownstreamRouteFinder.UrlMatcher;
namespace Ocelot.Benchmarks
{
[Config(typeof(UrlPathToUrlPathTemplateMatcherBenchmarks))]
public class UrlPathToUrlPathTemplateMatcherBenchmarks : ManualConfig
{
private RegExUrlMatcher _urlPathMatcher;
private string _downstreamUrlPath;
private string _downstreamUrlPathTemplate;
public UrlPathToUrlPathTemplateMatcherBenchmarks()
{
Add(StatisticColumn.AllStatistics);
}
[Setup]
public void SetUp()
{
_urlPathMatcher = new RegExUrlMatcher();
_downstreamUrlPath = "api/product/products/1/variants/?soldout=false";
_downstreamUrlPathTemplate = "api/product/products/{productId}/variants/";
}
[Benchmark]
public void Benchmark1()
{
_urlPathMatcher.Match(_downstreamUrlPath, _downstreamUrlPathTemplate);
}
[Benchmark]
public void Benchmark2()
{
_urlPathMatcher.Match(_downstreamUrlPath, _downstreamUrlPathTemplate);
}
}
}