mirror of
https://github.com/lionsoul2014/ip2region.git
synced 2025-12-08 19:25:22 +00:00
29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using BenchmarkDotNet.Attributes;
|
|
using BenchmarkDotNet.Running;
|
|
using IP2Region.Net.Abstractions;
|
|
using IP2Region.Net.XDB;
|
|
|
|
BenchmarkRunner.Run(typeof(Program).Assembly);
|
|
|
|
public class CachePolicyCompare
|
|
{
|
|
private static readonly string XdbPath = Path.Combine(AppContext.BaseDirectory, "IP2Region", "ip2region_v4.xdb");
|
|
private readonly ISearcher _contentSearcher = new Searcher(CachePolicy.Content, XdbPath);
|
|
private readonly ISearcher _vectorSearcher = new Searcher(CachePolicy.VectorIndex,XdbPath);
|
|
private readonly ISearcher _fileSearcher = new Searcher(CachePolicy.File,XdbPath);
|
|
|
|
private readonly string _testIpAddress = "114.114.114.114";
|
|
|
|
[Benchmark]
|
|
[BenchmarkCategory(nameof(CachePolicy.Content))]
|
|
public void CachePolicy_Content() => _contentSearcher.Search(_testIpAddress);
|
|
|
|
[Benchmark]
|
|
[BenchmarkCategory(nameof(CachePolicy.VectorIndex))]
|
|
public void CachePolicy_VectorIndex() => _vectorSearcher.Search(_testIpAddress);
|
|
|
|
|
|
[Benchmark]
|
|
[BenchmarkCategory(nameof(CachePolicy.File))]
|
|
public void CachePolicy_File() => _fileSearcher.Search(_testIpAddress);
|
|
} |