Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
for ++i < length vs .forEach(t) vs for..of vs for t = entries[++i] vs for i = 0; ++i in entries vs for ++i in object vs .reduce (entries)
Compare loop performance
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/134.0.0.0 Safari/537.36
Browser:
Chrome 134
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
for i < length
252.9 Ops/sec
.forEach(t)
247.6 Ops/sec
for..of
251.3 Ops/sec
for t = array[i]
251.0 Ops/sec
for i=0; i in array
257.2 Ops/sec
for i in array,
374.1 Ops/sec
.reduce
234.5 Ops/sec
Script Preparation code:
var object = {}; for (let i = 1; i <= 100000; i++) object[String(i)] = i;
Tests:
for i < length
for (let entries = Object.entries(object), i = -1, length = entries.length; ++i < length;) { const t = entries[i]; window.k = t[0] window.v = t[1]; }
.forEach(t)
const entries = Object.entries(object); entries.forEach(([k, v]) => { window.k = k; window.v = v; });
for..of
const entries = Object.entries(object); for (const [k, v] of entries) { window.k = k; window.v = v; }
for t = array[i]
for (let entries = Object.entries(object), i = -1, t; t = entries[++i]; i) { window.k = t[0]; window.v = t[1]; }
for i=0; i in array
for (let entries = Object.entries(object), i = -1; ++i in entries;) { const t = entries[i]; window.k = t[0]; window.v = t[1]; }
for i in array,
for (const k in object) { window.k = k; window.v = object[k]; }
.reduce
const entries = Object.entries(object) entries.reduce((_, [k, v]) => { window.k = k; window.v = v; });