Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Array concat vs spread operator vs push vs prototype.push.apply
Compare the new ES6 spread operator with the traditional concat() method and push
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15
Browser:
Safari 17
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
spread operator
455.3M/s
Array.prototype.concat
48.6M/s
Push
16.7M/s
Array.prototype.push.apply
9.4M/s
View exact numbers
Test name
Executions per second
✓
spread operator
455,262,048 Ops/sec
Array.prototype.concat
48,588,200 Ops/sec
Push
16,737,648 Ops/sec
Array.prototype.push.apply
9,386,526 Ops/sec
Tests:
Array.prototype.concat
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ].concat(params);
spread operator
var params = [ "hello", true, 7 ] var other = [ 1, 2, ...params ]
Push
var params = [ "hello", true, 7 ]; var other = [ 1, 2 ].push(...params);
Array.prototype.push.apply
var params = [ "hello", true, 7 ]; var other = Array.prototype.push.apply([ 1, 2 ],params);