mirror of https://github.com/lukechilds/node.git
Browse Source
url.js was broken since it didn't use the common.js runner. This fixes that issue by merging it with url-resolve.js, which also benchmarks url.resolve. PR-URL: https://github.com/nodejs/node/pull/5177 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>v5.x
Andreas Madsen
9 years ago
committed by
Rod Vagg
2 changed files with 25 additions and 53 deletions
@ -1,41 +0,0 @@ |
|||
'use strict'; |
|||
var url = require('url') |
|||
var n = 25 * 100; |
|||
|
|||
var urls = [ |
|||
'http://nodejs.org/docs/latest/api/url.html#url_url_format_urlobj', |
|||
'http://blog.nodejs.org/', |
|||
'https://encrypted.google.com/search?q=url&q=site:npmjs.org&hl=en', |
|||
'javascript:alert("node is awesome");', |
|||
'some.ran/dom/url.thing?oh=yes#whoo' |
|||
]; |
|||
|
|||
var paths = [ |
|||
'../foo/bar?baz=boom', |
|||
'foo/bar', |
|||
'http://nodejs.org', |
|||
'./foo/bar?baz' |
|||
]; |
|||
|
|||
benchmark('parse()', url.parse); |
|||
benchmark('format()', url.format); |
|||
paths.forEach(function(p) { |
|||
benchmark('resolve("' + p + '")', function(u) { |
|||
url.resolve(u, p) |
|||
}); |
|||
}); |
|||
|
|||
function benchmark(name, fun) { |
|||
var timestamp = process.hrtime(); |
|||
for (var i = 0; i < n; ++i) { |
|||
for (var j = 0, k = urls.length; j < k; ++j) fun(urls[j]); |
|||
} |
|||
timestamp = process.hrtime(timestamp); |
|||
|
|||
var seconds = timestamp[0]; |
|||
var nanos = timestamp[1]; |
|||
var time = seconds + nanos / 1e9; |
|||
var rate = n / time; |
|||
|
|||
console.log('misc/url.js %s: %s', name, rate.toPrecision(5)); |
|||
} |
Loading…
Reference in new issue