Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/url/url-resolve.js')
-rw-r--r--benchmark/url/url-resolve.js37
1 files changed, 25 insertions, 12 deletions
diff --git a/benchmark/url/url-resolve.js b/benchmark/url/url-resolve.js
index 18f67e82e30..8372132e4d2 100644
--- a/benchmark/url/url-resolve.js
+++ b/benchmark/url/url-resolve.js
@@ -3,30 +3,43 @@ var common = require('../common.js');
var url = require('url');
var v8 = require('v8');
+var hrefs = [
+ 'http://example.com/',
+ '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 = [
+ '../../../../../etc/passwd',
+ '../foo/bar?baz=boom',
+ 'foo/bar',
+ 'http://nodejs.org',
+ './foo/bar?baz'
+];
+
var bench = common.createBenchmark(main, {
- type: ['one'],
- n: [1e5],
+ href: Object.keys(hrefs),
+ path: Object.keys(paths),
+ n: [1e5]
});
function main(conf) {
- var type = conf.type;
var n = conf.n | 0;
-
- var inputs = {
- one: ['http://example.com/', '../../../../../etc/passwd'],
- };
- var input = inputs[type] || [];
+ var href = hrefs[conf.href];
+ var path = paths[conf.path];
// Force-optimize url.resolve() so that the benchmark doesn't get
// disrupted by the optimizer kicking in halfway through.
- for (var name in inputs)
- url.resolve(inputs[name][0], inputs[name][1]);
-
+ url.resolve(href, path);
v8.setFlagsFromString('--allow_natives_syntax');
eval('%OptimizeFunctionOnNextCall(url.resolve)');
bench.start();
for (var i = 0; i < n; i += 1)
- url.resolve(input[0], input[1]);
+ url.resolve(href, path);
bench.end(n);
}