const benchmark = require("benchmark");
const suite = new benchmark.Suite();
var URI = require("./dist/es5/uri.all");
URI.parse("https://example.com");
suite.add("uri", function () {
URI.parse("https://example.com");
});
suite.add("IPv4", function () {
URI.parse("//10.10.10.10");
});
suite.add("IPv6", function () {
URI.parse("//[2001:db8::7]");
});
suite.on("cycle", cycle);
suite.run();
function cycle(e) {
console.log(e.target.toString());
}
Results:
Branch
uri x 310,409 ops/sec ±0.27% (93 runs sampled)
IPv4 x 508,330 ops/sec ±0.24% (93 runs sampled)
IPv6 x 234,350 ops/sec ±0.54% (94 runs sampled)
Test file :
evalEnd 3.2675 ms
coldEnd 0.8562 ms
warmEnd 0.1371 ms
Master
uri x 280,779 ops/sec ±0.22% (94 runs sampled)
IPv4 x 227,370 ops/sec ±0.47% (92 runs sampled)
IPv6 x 162,507 ops/sec ±0.26% (95 runs sampled)
Test file :
evalEnd 2.9539 ms
coldEnd 7.7863 ms
warmEnd 2.8647 ms
This PR addresses some of the slowness in: https://github.com/garycourt/uri-js/issues/40
uri
we will try.Done a test file and a benchmark file. test file
benchmark
Results:
All suggestions are welcome.