Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
slice + spread vs slice + concat vs slice + mutation vs spread + mutation vs slice + splice
(version: 0)
Comparing performance of:
slice + spread vs slice + concat vs slice + mutation vs spread + mutation vs splice
Created:
2 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
var indices = [1, 100, 1000, 5000, 50000, 99000] var list = []; for (let i = 0; i < 1000 * 1000; i++) { list.push(i); }
Tests:
slice + spread
let list2 = list; for (let i = 0; i < indices.length; i++) { list2 = [...list2.slice(0, i), 777, ...list2.slice(i + 1, Infinity)] }
slice + concat
let list2 = list; for (let i = 0; i < indices.length; i++) { list2 = [].concat(list2.slice(0, i), [777], list2.slice(i + 1, Infinity)) }
slice + mutation
let list2 = list; for (let i = 0; i < indices.length; i++) { list2 = list2.slice() list2[i] = 777; }
spread + mutation
let list2 = list; for (let i = 0; i < indices.length; i++) { list2 = [...list2] list2[i] = 777; }
splice
let list2 = list; for (let i = 0; i < indices.length; i++) { list2 = list2.slice() list2.splice(i, 1, 777) }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (5)
Previous results
Fork
Test case name
Result
slice + spread
slice + concat
slice + mutation
spread + mutation
splice
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Related benchmarks:
Array.prototype.slice vs spread operator with length limit
Array clone from index 1 to end: spread operator vs slice
JavaScript spread operator vs Slice/Splice performance 2
JavaScript spread operator vs Slice/Splice performance 2edas
JS Array Slice vs Array Spread
Comments
Confirm delete:
Do you really want to delete benchmark?