Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
concat vs push vs spread performance(more data)
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.1 Safari/605.1.15
Browser:
Safari 17
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Benchmark engine:
Benchmark.js
Spread operator
6.8M/s
Concat
3.5M/s
Push
1.1M/s
View exact numbers
Test name
Executions per second
✓
Spread operator
6,827,447 Ops/sec
Concat
3,492,272 Ops/sec
Push
1,099,583 Ops/sec
Tests:
Concat
var a = [ "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7 ]; var b = [ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 ]; var c = a.concat(b);
Spread operator
var a = [ "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7 ]; var b = [ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 ]; var c = [ ...a, ...b ]
Push
var a = [ "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7, "hello", true, 7 ]; var b = [ 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 ]; var c = a.push(...b);