Toggle navigation
MeasureThat
.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Spread operator vs Immutable.js performance for common use cases
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
Browser:
Chrome 130
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
one year ago
Object set - spread
30.8M/s
Array push - spread
26.3M/s
Object set - immutable
25.0M/s
Array push - immutable
14.8M/s
View exact numbers
Test name
Executions per second
✓
Object set - spread
30,809,916 Ops/sec
Array push - spread
26,332,192 Ops/sec
Object set - immutable
25,032,466 Ops/sec
Array push - immutable
14,844,032 Ops/sec
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.2/immutable.js" crossorigin="anonymous"></script>
Script Preparation code:
var obj = { b:"hello", c: true, d:7 }; var arr = ['a', 'b', 'c']; var map = Immutable.Map(obj); var list = Immutable.List(arr);
Tests:
Object set - spread
var newVal = { ...obj, b: 'world' };
Object set - immutable
var newVal = map.set('b', 'world');
Array push - spread
var newVal = [ ...arr, 'd' ];
Array push - immutable
var newVal = list.push('d');