-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathspeed.js
More file actions
29 lines (27 loc) · 1.07 KB
/
speed.js
File metadata and controls
29 lines (27 loc) · 1.07 KB
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
var userAgents = require("./seed")
var uaParserFactory = require("./uaParserFactory")
var parserSpeedTest = function(){
var testTimes = 100;
for(var i = 0; i < userAgents.length * testTimes; i++){
testUserAgent = userAgents[i % userAgents.length];
for(var parser in uaParserFactory){
usParser = uaParserFactory[parser];
var start = new Date();
usParser(testUserAgent)
var end = new Date();
var timeSpend = end.getTime() - start.getTime();
usParser.timeSpend = usParser.timeSpend ? usParser.timeSpend : [];
usParser.timeSpend.push(timeSpend)
}
}
for(var parser in uaParserFactory){
usParser = uaParserFactory[parser];
usParser.totalTimeSpend = usParser.timeSpend.reduce(function(pv, cv) { return pv + cv; }, 0);
usParser.avg = usParser.totalTimeSpend / usParser.timeSpend.length;
// console.log("\n");
// console.log(parser + " spend: " + usParser.timeSpend);
// console.log(parser + " total spend: " + usParser.totalTimeSpend);
console.log(parser + " avg spend: " + usParser.avg);
}
}
parserSpeedTest()