Test name | Executions per second |
---|---|
Produce | 378127.8 Ops/sec |
CloneDeep | 5619.0 Ops/sec |
<script src="https://cdn.jsdelivr.net/npm/immer@3.1.3/dist/immer.umd.min.js"></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
state = {
data: {
data1: {
data2: 'test',
},
data3: Array.from({length: 1000}).map(() => document.createElement('div'))
}
};
const result = immer.produce(state, draft => { draft.data.data1.data2 = 'updated' })
const result = _.cloneDeep(state);
result.data.data1.data2 = 'updated';