Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
[] spread vs mutation vs Object.assign for reduce callback
(version: 1)
Comparing performance of:
with spread operator vs with mutation vs with object assign
Created:
one year ago
by:
Registered User
Jump to the latest result
Tests:
with spread operator
const range = (from, to) => { const output = [] for(var x = from; x < to; x++){ output.push(x) } return output } range(0, 10000).reduce((acc, num) => { return { ...acc, [num]: num } }, {})
with mutation
const range = (from, to) => { const output = [] for(var x = from; x < to; x++){ output.push(x) } return output } range(0, 10000).reduce((acc, num) => { acc[num] = num return acc }, {})
with object assign
const range = (from, to) => { const output = [] for(var x = from; x < to; x++){ output.push(x) } return output } range(0, 10000).reduce((acc, num) => { return Object.assign(acc, {[num]: num}) }, {})
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
with spread operator
with mutation
with object assign
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36
Browser/OS:
Chrome 134 on Mac OS X 10.15.7
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
with spread operator
129.5 Ops/sec
with mutation
16887.0 Ops/sec
with object assign
408.1 Ops/sec
Related benchmarks:
spread vs mutation vs Object.assign for reduce callback
spread vs mutation vs Object.assign for reduce callback (30)
spread vs mutation vs Object.assign for reduce callback - range 0, 1000
spread vs mutation vs Object.assign vs Object.assign (new) for reduce callback
spread vs mutation vs Object.assign vs Object.assign (new) for reduce callback 1000
spread vs mutation vs Object.assign for reduce callback (100 elem)
spread vs mutation vs Object.assign for reduce
spread vs mutation vs Object.assign for reduce callback vs for of loop vs for loop
spread vs mutation vs Object.assign for reduce callback vs for...of loop vs for loop 30K iterations
Comments
Confirm delete:
Do you really want to delete benchmark?