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
<script>
function cmul1(a, b, d) {
d[0] = a[0] * b[0];
d[1] = a[1] * b[1];
d[2] = a[2] * b[2];
d[3] = a[3] * b[3];
return d;
}
function half1(a, d) {
d[0] = a[0] * 0.5;
d[1] = a[1] * 0.5;
d[2] = a[2] * 0.5;
d[3] = a[3] * 0.5;
return d;
}
var v1a = new Float32Array([1.1,2.1,3.1,4.1]);
var v1b = new Float32Array([1.1,2.1,3.1,4.1]);
var v1d = new Float32Array([0.1,0.1,0.1,0.1]);
function cmul2(a, b, d) {
d[0] = a[0] * b[0];
d[1] = a[1] * b[1];
d[2] = a[2] * b[2];
d[3] = a[3] * b[3];
return d;
}
function half2(a, d) {
d[0] = a[0] * 0.5;
d[1] = a[1] * 0.5;
d[2] = a[2] * 0.5;
d[3] = a[3] * 0.5;
return d;
}
var v2a = new Float64Array([1.1,2.1,3.1,4.1]);
var v2b = new Float64Array([1.1,2.1,3.1,4.1]);
var v2d = new Float64Array([0.1,0.1,0.1,0.1]);
function cmul3(a, b, d) {
d[0] = a[0] * b[0];
d[1] = a[1] * b[1];
d[2] = a[2] * b[2];
d[3] = a[3] * b[3];
return d;
}
function half3(a, d) {
d[0] = a[0] * 0.5;
d[1] = a[1] * 0.5;
d[2] = a[2] * 0.5;
d[3] = a[3] * 0.5;
return d;
}
var v3a = [1.1,2.1,3.1,4.1];
var v3b = [1.1,2.1,3.1,4.1];
var v3d = [0.1,0.1,0.1,0.1];
function cmul4(a, b, d) {
d.x = a.x * b.x;
d.y = a.y * b.y;
d.z = a.z * b.z;
d.w = a.w * b.w;
return d;
}
function half4(a, d) {
d.x = a.x * 0.5;
d.y = a.y * 0.5;
d.z = a.z * 0.5;
d.w = a.w * 0.5;
return d;
}
var v4a = {x:1.1, y:2.1, z:3.1, w:4.1};
var v4b = {x:1.1, y:2.1, z:3.1, w:4.1};
var v4d = {x:0.1, y:0.1, z:0.1, w:0.1};
</script>
Ready to run.
Test | Ops/sec | |
---|---|---|
Float32Array cmul |
| ready |
Float64Array cmul |
| ready |
Float32Array half |
| ready |
Float64Array half |
| ready |
Dense float array cmul |
| ready |
Dense float array half |
| ready |
Object cmul |
| ready |
Object half |
| ready |
You can edit these tests or add more tests to this page by appending /edit to the URL.