Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
map vs reverse for vs for vs push vs unshift
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/128.0.0.0 Safari/537.36 Edg/128.0.0.0
Browser:
Chrome 128
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
map
37545.5 Ops/sec
reverse for
25309.4 Ops/sec
for
19245.6 Ops/sec
for push
19035.5 Ops/sec
reverse for unshift
19034.5 Ops/sec
Script Preparation code:
var arr = new Array(500).fill().map(()=>({id:Math.random()**Math.random()**Math.random()}));
Tests:
map
const res1=arr.map(({id})=>id>Math.random()?{foo:'bar'}:{bar:'foo'});
reverse for
const res2=new Array(arr.length); for (let i=arr.length-1;i>-1;i--){ res2[i]=arr[i].id>Math.random()?{foo:'bar'}:{bar:'foo'} }
for
const res2=new Array(arr.length); for (let i=0;i<arr.length;i++){ res2[i]=arr[i].id>Math.random()?{foo:'bar'}:{bar:'foo'} }
for push
const res2=[] for (let i=0;i<arr.length;i++){ res2.push(arr[i].id>Math.random()?{foo:'bar'}:{bar:'foo'}) }
reverse for unshift
const res2=new Array(); for (let i=arr.length-1;i>-1;i--){ res2.unshift(arr[i].id>Math.random()?{foo:'bar'}:{bar:'foo'}) }