| 1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * Created by Wu Jian Ping on - 2022/07/22.
- */
- const Benchmark = require('benchmark')
- const path = require('path')
- const Searcher = require('..')
- const dbPath = path.join(__dirname, '..', '..', '..', 'data', 'ip2region.xdb')
- const buffer = Searcher.loadContentFromFile(dbPath)
- const searcher1 = Searcher.newWithBuffer(buffer)
- const vectorIndex = Searcher.loadVectorIndexFromFile(dbPath)
- const searcher2 = Searcher.newWithVectorIndex(dbPath, vectorIndex)
- const searcher3 = Searcher.newWithFileOnly(dbPath)
- const suite = new Benchmark.Suite()
- suite
- .add('#缓存整个xdb数据【搜索218.4.167.70】', async () => {
- const ip = '218.4.167.70'
- return searcher1.search(ip)
- })
- .add('#缓存VectorIndex索引【搜索218.4.167.70】', async () => {
- const ip = '218.4.167.70'
- return searcher2.search(ip)
- })
- .add('#完全基于文件的查询【搜索218.4.167.70】', async () => {
- const ip = '218.4.167.70'
- return searcher3.search(ip)
- })
- .on('cycle', function (event) {
- console.log(String(event.target)) // eslint-disable-line
- })
- .on('complete', function () {
- console.log('Fastest is ' + this.filter('fastest').map('name')) // eslint-disable-line
- })
- .run({ async: true })
|