Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Object iteration benchmark
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
Browser:
Chrome 137
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
for of Object.keys()
540K/s
for with Object.keys()
524K/s
for in
317K/s
for in with Object.hasOwn()
266K/s
View exact numbers
Test name
Executions per second
✓
for of Object.keys()
540,041 Ops/sec
for with Object.keys()
524,045 Ops/sec
for in
316,924 Ops/sec
for in with Object.hasOwn()
265,959 Ops/sec
Script Preparation code:
const o = {}; for (let i = 0; i < 36; i++) { o[i.toString(36)] = 0; }
Tests:
for with Object.keys()
const ks = Object.keys(o); for (let i = 0, l = ks.length; i < l; i++) { o[ks[i]]++; }
for of Object.keys()
for (const k of Object.keys(o)) { o[k]++; }
for in with Object.hasOwn()
for (const k in o) { if (Object.hasOwn(o, k)) { o[k]++; } }
for in
for (const k in o) { o[k]++; }