mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 15:30:49 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |