Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
Array.prototype.concat vs spread operator on NodeList
Compare the new ES6 spread operator with the traditional concat() method
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (X11; Linux x86_64; rv:115.0) Gecko/20100101 Firefox/115.0
Browser:
Firefox 115
Operating system:
Linux
Device Platform:
Desktop
Date tested:
one year ago
Benchmark engine:
Benchmark.js
push apply into empty array
5.3M/s
slice
4.5M/s
Object.values
3.8M/s
spread operator
2.1M/s
Array.from
2.0M/s
View exact numbers
Test name
Executions per second
✓
push apply into empty array
5,340,874 Ops/sec
slice
4,501,752 Ops/sec
Object.values
3,814,065 Ops/sec
spread operator
2,128,118 Ops/sec
Array.from
1,990,206 Ops/sec
Script Preparation code:
var dom = document.body.querySelectorAll('*')
Tests:
slice
var other = Array.prototype.slice.call(dom);
spread operator
var other = [ ...dom ]
push apply into empty array
var other = []; [].push.apply(other, dom)
Array.from
var other = Array.from(dom);
Object.values
var other = Object.values(dom)