jsPerf.app is an online JavaScript performance benchmark test runner & jsperf.com mirror. It is a complete rewrite in homage to the once excellent jsperf.com now with hopefully a more modern & maintainable codebase.
jsperf.com URLs are mirrored at the same path, e.g:
https://jsperf.com/negative-modulo/2
Can be accessed at:
https://jsperf.app/negative-modulo/2
javascript-graph poc
var DUMMY = {};
var NODE_COUNT_LARGE = 1000000;
function pointerTranverse(nodes, iterations) {
var target = nodes[iterations];
for (var i = 1; i < iterations; i++) {
target = target["next"]; //case of random nulled
}
return target;
}
function indexTranverse(nodes, iterations) {
var target = nodes[iterations];
for (var i = 1; i < iterations; i++) {
target = nodes[target["next"]];
}
return target;
}
var createNodes = function(size, getNext) {
var nodes = [];
for (var i = 1; i <= size; i++) {
nodes[i] = {
"id": i
};
}
for (var i = 1; i <= size; i++) {
nodes[i]["next"] = getNext(i,nodes);
}
return nodes;
};
var NODE_COUNT_LARGE = 1000000;
var random = [];
for (var i = 0; i <= NODE_COUNT_LARGE; i++) {
random[i] = Math.floor(Math.random() * NODE_COUNT_LARGE + 1);
}
var large_random_nodes = [];
large_random_nodes = createNodes(NODE_COUNT_LARGE, function(i,nodes) {
return nodes[random[i]]
});
large_ordered_nodes = createNodes(NODE_COUNT_LARGE, function(i,nodes) {
return nodes[i-1]
});
var large_random_nodes_offset = createNodes(NODE_COUNT_LARGE, function(i) {
return random[i]
});
var large_ordered_nodes_offset = createNodes(NODE_COUNT_LARGE, function(i) {
return i - 1;
});
Ready to run.
Test | Ops/sec | |
---|---|---|
traverse random connected node by index |
| ready |
traverse random connected node by pointer |
| ready |
traverse ordered node by index |
| ready |
traverse ordered node by reference |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.