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
From a StackOverflow discussion:
http://stackoverflow.com/questions/32172144/fastest-way-to-sort-10-numbers-numbers-are-32-bit
function sortNet10(data) {
var swap;
if (data[0] > data[5]) {
swap = data[0];
data[0] = data[5];
data[5] = swap;
}
if (data[1] > data[6]) {
swap = data[1];
data[1] = data[6];
data[6] = swap;
}
if (data[2] > data[7]) {
swap = data[2];
data[2] = data[7];
data[7] = swap;
}
if (data[3] > data[8]) {
swap = data[3];
data[3] = data[8];
data[8] = swap;
}
if (data[4] > data[9]) {
swap = data[4];
data[4] = data[9];
data[9] = swap;
}
if (data[0] > data[3]) {
swap = data[0];
data[0] = data[3];
data[3] = swap;
}
if (data[5] > data[8]) {
swap = data[5];
data[5] = data[8];
data[8] = swap;
}
if (data[1] > data[4]) {
swap = data[1];
data[1] = data[4];
data[4] = swap;
}
if (data[6] > data[9]) {
swap = data[6];
data[6] = data[9];
data[9] = swap;
}
if (data[0] > data[2]) {
swap = data[0];
data[0] = data[2];
data[2] = swap;
}
if (data[3] > data[6]) {
swap = data[3];
data[3] = data[6];
data[6] = swap;
}
if (data[7] > data[9]) {
swap = data[7];
data[7] = data[9];
data[9] = swap;
}
if (data[0] > data[1]) {
swap = data[0];
data[0] = data[1];
data[1] = swap;
}
if (data[2] > data[4]) {
swap = data[2];
data[2] = data[4];
data[4] = swap;
}
if (data[5] > data[7]) {
swap = data[5];
data[5] = data[7];
data[7] = swap;
}
if (data[8] > data[9]) {
swap = data[8];
data[8] = data[9];
data[9] = swap;
}
if (data[1] > data[2]) {
swap = data[1];
data[1] = data[2];
data[2] = swap;
}
if (data[3] > data[5]) {
swap = data[3];
data[3] = data[5];
data[5] = swap;
}
if (data[4] > data[6]) {
swap = data[4];
data[4] = data[6];
data[6] = swap;
}
if (data[7] > data[8]) {
swap = data[7];
data[7] = data[8];
data[8] = swap;
}
if (data[1] > data[3]) {
swap = data[1];
data[1] = data[3];
data[3] = swap;
}
if (data[4] > data[7]) {
swap = data[4];
data[4] = data[7];
data[7] = swap;
}
if (data[2] > data[5]) {
swap = data[2];
data[2] = data[5];
data[5] = swap;
}
if (data[6] > data[8]) {
swap = data[6];
data[6] = data[8];
data[8] = swap;
}
if (data[2] > data[3]) {
swap = data[2];
data[2] = data[3];
data[3] = swap;
}
if (data[4] > data[5]) {
swap = data[4];
data[4] = data[5];
data[5] = swap;
}
if (data[6] > data[7]) {
swap = data[6];
data[6] = data[7];
data[7] = swap;
}
if (data[3] > data[4]) {
swap = data[3];
data[3] = data[4];
data[4] = swap;
}
if (data[5] > data[6]) {
swap = data[5];
data[5] = data[6];
data[6] = swap;
}
return (data);
}
var arr1 = [5, 7, 1, 8, 4, 3, 6, 9, 2, 0];
var arr2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
var arr3 = arr2.reverse();
Ready to run.
Test | Ops/sec | |
---|---|---|
Standard sort 1 |
| ready |
Standard sort 2 |
| ready |
Standard sort 3 |
| ready |
Network sort 1 |
| ready |
Network sort 2 |
| ready |
Network sort 3 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.