Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Test for loop / reduce / cached loop / cached loop destructive
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Browser:
Chrome 120
Operating system:
Windows
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
.reduce
26.3 Ops/sec
.for (init array)
31.2 Ops/sec
.for (init array) (cached)
34.2 Ops/sec
.for (init array) (cached) (destructive)
32.8 Ops/sec
Script Preparation code:
function generateTestArray() { const result = []; for (let i = 0; i < 1000000; ++i) { result.push({ a: i, b: i / 2, r: 0, }); } return result; }
Tests:
.reduce
const array = generateTestArray(); array.reduce((p, x) => p + x.a + x.b, 0);
.for (init array)
const array = generateTestArray(); const r = new Array(array.length); for (let i = 0; i < array.length; ++i) { r[i] = array[i].a + array[i].b; }
.for (init array) (cached)
const array = generateTestArray(); var arrLen = array.length; const r = new Array(array.length); for (let i = 0; i < arrLen; ++i) { r[i] = array[i].a + array[i].b; }
.for (init array) (cached) (destructive)
const array = generateTestArray(); var arrLen = array.length; const r = new Array(array.length); for (let i = 0; i < arrLen; ++i) { const {a,b} = array[i] r[i] = a + b; }