Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Array concat vs spread operator vs push vs assignment
(version: 0)
Compare the new ES6 spread operator with the traditional concat() method and push and assign
Comparing performance of:
Array.prototype.concat vs spread operator vs Push vs assign
Created:
2 years ago
by:
Registered User
Jump to the latest result
Script Preparation code:
const append = (arr1, arr2) => { // Pre-allocate space for the new elements arr1.length += arr2.length; // Copy elements from arr2 to arr1 for (let i = 0; i < arr2.length; i++) { arr1[arr1.length - arr2.length + i] = arr2[i]; } return arr1; }; window.append = append
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);
assign
var params = [ "hello", true, 7 ]; var other = append([1,2], params);
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
Array.prototype.concat
spread operator
Push
assign
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
2 years ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Browser/OS:
Chrome 120 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
Array.prototype.concat
17433066.0 Ops/sec
spread operator
80708432.0 Ops/sec
Push
104542936.0 Ops/sec
assign
9544988.0 Ops/sec
Related benchmarks:
Array push vs spread vs concat
Array concat vs spread operator vs push (es6)
Fork - Array concat vs spread operator vs push v2
Array concat vs spread operator vs push for single values
Array concat vs spread operator vs push large
Comments
Confirm delete:
Do you really want to delete benchmark?