-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbenchmark.js
45 lines (40 loc) · 1.44 KB
/
benchmark.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
const Suite = require('benchmark').Suite;
const fs = require('node:fs');
const IpCollection = require('../index');
const IpDataOperators = JSON.parse(fs.readFileSync(__dirname + '/fixtures/data-operators.json', 'utf8'))
const ip = new IpCollection({
useHash: false
});
ip.loadFromString('103.18.157.0-103.18.159.255', 'ya1');
ip.loadFromString('103.18.157.0-103.18.159.255', 'ya2');
ip.loadFromString('103.197.28.0-103.197.29.255', 'ya2');
ip.loadFromString('103.199.184.0-103.199.185.255', 'ya3');
ip.loadFromString('5.151.236.0/23', 'geonode-2635167');
ip.loadFromString('42540528726795050063891204319802818560-42540528806023212578155541913346768895', 'test-ipv6');
ip.loadFromString('2001:470:36:63::/64\n2001:470:36:64::/64', 'geonode-6252001');
ip.loadFromString('2001:470:36:60::/64\n2001:470:36:61::/64\n2001:470:36:62::/64', 'geonode-6252001');
ip.loadFromString('2001:470:36:65::/64\n2001:470:36:66::/64\n2001:470:36:67::/64', 'geonode-6252001');
for (let operatorId in IpDataOperators) {
ip.loadFromString(IpDataOperators[operatorId], operatorId);
}
const suite = new Suite;
suite.on('cycle', function(event) {
console.log(String(event.target));
});
const ips = [
'2.205.41.192',
'188.65.247.97',
'46.216.70.223',
'46.216.70.224',
'46.56.157.2',
'134.17.140.22',
'217.118.78.211',
'178.178.81.220',
'2a02:d247:5000::'
]
for (let i of ips) {
suite.add(`lockup ip: ${i}`, function() {
ip.lookup(i);
});
}
suite.run({ 'async': false});