From d9079ab8013ba2c2a4704a2cca6fe3fcc0a1ecdd Mon Sep 17 00:00:00 2001 From: Andreas Madsen Date: Fri, 29 Jan 2016 21:40:04 +0100 Subject: benchmark: move misc to categorized directories PR-URL: https://github.com/nodejs/node/pull/5177 Reviewed-By: James M Snell Reviewed-By: Rod Vagg --- benchmark/url/url.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 benchmark/url/url.js (limited to 'benchmark/url') diff --git a/benchmark/url/url.js b/benchmark/url/url.js new file mode 100644 index 0000000000..78fe7b6c56 --- /dev/null +++ b/benchmark/url/url.js @@ -0,0 +1,41 @@ +'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)); +} -- cgit v1.2.3