Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
Feature Requests
FAQ
Register
Log In
Run results for:
reduce concat vs flat vs concat spread vs reduce spread
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 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Mobile Safari/537.36
Browser:
Chrome Mobile 131
Operating system:
Android
Device Platform:
Mobile
Date tested:
one year ago
Benchmark engine:
Benchmark.js
concat(...)
302K/s
reduce + Array.prototype.concat
284K/s
reduce spread
22K/s
Array.prototype.flat
9K/s
View exact numbers
Test name
Executions per second
✓
concat(...)
302,114 Ops/sec
reduce + Array.prototype.concat
283,880 Ops/sec
reduce spread
21,631 Ops/sec
Array.prototype.flat
8,634 Ops/sec
Script Preparation code:
var params = [ [1, 2], ["hello", true, 7], Array(10000).fill(4), ];
Tests:
reduce + Array.prototype.concat
const x = params.reduce((acc, val) => acc.concat(val), []);
Array.prototype.flat
const x = params.flat(1);
concat(...)
const x = [].concat(...params)
reduce spread
const x = params.reduce((acc, val) => [...acc, ...val], []);