Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Big Array prepend
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (iPhone; CPU iPhone OS 18_3_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Mobile/15E148 Safari/604.1
Browser:
Mobile Safari 18
Operating system:
iOS 18.3.2
Device Platform:
Mobile
Date tested:
one year ago
Test name
Executions per second
Spread Operator
28927.7 Ops/sec
Unshift
34056.5 Ops/sec
Unshift without mutation
27897.1 Ops/sec
Prepend function
11977.0 Ops/sec
Script Preparation code:
var a; var prependArray = function(value, oldArray) { var i, len = oldArray.length + 1, newArray = new Array(len); newArray[0] = value; for (i = 0; i < len; ++i) { newArray.push(oldArray[i]); } return newArray; }
Tests:
Spread Operator
a = new Array(10000).fill().map((_, i) => i) a = [0, ...a];
Unshift
a = new Array(10000).fill().map((_, i) => i) a.unshift(0);
Unshift without mutation
a = new Array(10000).fill().map((_, i) => i) a.slice(0).unshift(0);
Prepend function
a = new Array(10000).fill().map((_, i) => i) prependArray(0, a);