Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Set (Lodash vs Lodash/fp vs Immutable) comp. test
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.0.0
Browser:
Chrome 134
Operating system:
Windows
Device Platform:
Desktop
Date tested:
one year ago
Test name
Executions per second
native (mutations)
6620969.0 Ops/sec
lodash (mutations)
2246520.8 Ops/sec
lodash/fp
294842.4 Ops/sec
immutable
550770.3 Ops/sec
HTML Preparation code:
<script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script> <script type='text/javascript' src='https://cdnjs.cloudflare.com/ajax/libs/immutable/5.0.0-beta.4/immutable.min.js'></script>
Script Preparation code:
var fp = _.noConflict(); var im = Immutable; var original = { x: { y: { z: 123 }}}; function pureJs(obj, path, value) { const keys = Object.keys(path); let current = obj; for (let i = 0; i < keys.length - 1; i++) { const key = keys[i]; if (!current[key]) { current[key] = {}; } current = current[key]; } current[keys[keys.length - 1]] = value; }
Tests:
native (mutations)
pureJs(original, ['x', 'y', 'z'], 456)
lodash (mutations)
_.set(original, ['x', 'y', 'z'], 456)
lodash/fp
fp.set(original, ['x', 'y', 'z'], 456)
immutable
im.setIn(original, ['x', 'y', 'z'], 456)