summaryrefslogtreecommitdiff
path: root/benchmark/url/url-resolve.js
diff options
context:
space:
mode:
authorAndreas Madsen <amwebdk@gmail.com>2016-01-29 22:15:39 +0100
committerRod Vagg <rod@vagg.org>2016-02-26 20:29:05 +1100
commitf6c505d0b1771d75bd23442e0049ad9581979901 (patch)
tree5a27f4dbdf3633a8d1af8a80f31d367139127706 /benchmark/url/url-resolve.js
parentd9079ab8013ba2c2a4704a2cca6fe3fcc0a1ecdd (diff)
downloadandroid-node-v8-f6c505d0b1771d75bd23442e0049ad9581979901.tar.gz
android-node-v8-f6c505d0b1771d75bd23442e0049ad9581979901.tar.bz2
android-node-v8-f6c505d0b1771d75bd23442e0049ad9581979901.zip
benchmark: merge url.js with url-resolve.js
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>
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 18f67e82e3..8372132e4d 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);
}