Run details:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Chrome 135
Mac OS X 10.15.7
Desktop
one year ago
spread concat -- output = [].concat(...batches)
315K/s
push loop -- for (const v of batch) { output.push(v) }
45K/s
push spread -- output.push(...batch)
40K/s
flat
13K/s
repeated concat -- output = output.concat(batch)
10K/s
repeated spread -- output = [...output, ...batch]
3K/s
View exact numbers
Test name Executions per second
spread concat -- output = [].concat(...batches) 314,804 Ops/sec
push loop -- for (const v of batch) { output.push(v) } 45,435 Ops/sec
push spread -- output.push(...batch) 40,061 Ops/sec
flat 13,188 Ops/sec
repeated concat -- output = output.concat(batch) 9,547 Ops/sec
repeated spread -- output = [...output, ...batch] 3,121 Ops/sec
Script Preparation code:
Tests: