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
var MAT_3x3 = [
[2, 999, 4],
[1, 2, 1],
[4, 999, 2]
];
function matrixMultiply(m1, m2) {
var m1_0 = m1[0];
var m1_1 = m1[1];
var m1_2 = m1[2];
var m2_0 = m2[0];
var m2_1 = m2[1];
var m2_2 = m2[2];
var m1_0_0 = m1_0[0];
var m1_0_1 = m1_0[1];
var m1_0_2 = m1_0[2];
var m1_1_0 = m1_1[0];
var m1_1_1 = m1_1[1];
var m1_1_2 = m1_1[2];
var m1_2_0 = m1_2[0];
var m1_2_1 = m1_2[1];
var m1_2_2 = m1_2[2];
var m2_0_0 = m2_0[0];
var m2_0_1 = m2_0[1];
var m2_0_2 = m2_0[2];
var m2_1_0 = m2_1[0];
var m2_1_1 = m2_1[1];
var m2_1_2 = m2_1[2];
var m2_2_0 = m2_2[0];
var m2_2_1 = m2_2[1];
var m2_2_2 = m2_2[2];
return [
[m1_0_0 * m2_0_0 + m1_0_1 * m2_1_0 + m1_0_2 * m2_2_0, m1_0_0 * m2_0_1 + m1_0_1 * m2_1_1 + m1_0_2 * m2_2_1, m1_0_0 * m2_0_2 + m1_0_1 * m2_1_2 + m1_0_2 * m2_2_2], [m1_1_0 * m2_0_0 + m1_1_1 * m2_1_0 + m1_1_2 * m2_2_0, m1_1_0 * m2_0_1 + m1_1_1 * m2_1_1 + m1_1_2 * m2_2_1, m1_1_0 * m2_0_2 + m1_1_1 * m2_1_2 + m1_1_2 * m2_2_2], [m1_2_0 * m2_0_0 + m1_2_1 * m2_1_0 + m1_2_2 * m2_2_0, m1_2_0 * m2_0_1 + m1_2_1 * m2_1_1 + m1_2_2 * m2_2_1, m1_2_0 * m2_0_2 + m1_2_1 * m2_1_2 + m1_2_2 * m2_2_2]
];
}
function matrixMultiply2(m1, m2) {
var m1_0 = m1[0];
var m1_1 = m1[1];
var m1_2 = m1[2];
var m2_0 = m2[0];
var m2_1 = m2[1];
var m2_2 = m2[2];
return [
[m1_0[0] * m2_0[0] + m1_0[1] * m2_1[0] + m1_0[2] * m2_2[0],
m1_0[0] * m2_0[1] + m1_0[1] * m2_1[1] + m1_0[2] * m2_2[1],
m1_0[0] * m2_0[2] + m1_0[1] * m2_1[2] + m1_0[2] * m2_2[2]],
[m1_1[0] * m2_0[0] + m1_1[1] * m2_1[0] + m1_1[2] * m2_2[0],
m1_1[0] * m2_0[1] + m1_1[1] * m2_1[1] + m1_1[2] * m2_2[1],
m1_1[0] * m2_0[2] + m1_1[1] * m2_1[2] + m1_1[2] * m2_2[2]],
[m1_2[0] * m2_0[0] + m1_2[1] * m2_1[0] + m1_2[2] * m2_2[0],
m1_2[0] * m2_0[1] + m1_2[1] * m2_1[1] + m1_2[2] * m2_2[1],
m1_2[0] * m2_0[2] + m1_2[1] * m2_1[2] + m1_2[2] * m2_2[2]]
];
}
Ready to run.
Test | Ops/sec | |
---|---|---|
Multiply 1 |
| ready |
Multiply 2 |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.