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 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
/**
* Globals for benchmark.js
*/
global.assert = require('assert')
global.createReq = createReq
global.fasturl = require('fast-url-parser')
global.nativeurl = require('url')
global.parseurl = require('..')
global.url = '/foo/bar'
/**
* Module dependencies.
*/
var benchmark = require('benchmark')
var benchmarks = require('beautify-benchmark')
var assertValues = 'assert.strictEqual(obj.pathname, "/foo/bar"); assert.strictEqual(obj.query, null);'
var suite = new benchmark.Suite
suite.add({
name: 'fasturl',
minSamples: 100,
fn: 'var obj = fasturl.parse(createReq(url).url);' + assertValues
})
suite.add({
name: 'nativeurl',
minSamples: 100,
fn: 'var obj = nativeurl.parse(createReq(url).url);' + assertValues
})
suite.add({
name: 'parseurl',
minSamples: 100,
fn: 'var obj = parseurl(createReq(url));' + assertValues
})
suite.on('start', function onCycle(event) {
process.stdout.write(' Parsing URL ' + JSON.stringify(url) + '\n\n')
})
suite.on('cycle', function onCycle(event) {
benchmarks.add(event.target);
})
suite.on('complete', function onComplete() {
benchmarks.log();
})
suite.run({async: false})
function createReq(url) {
return {
url: url
};
}
|