Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Shallow proxify with recursive shallow vs Immer Produce
(version: 7)
Comparing performance of:
Produce vs Shallow lazy
Created:
3 years ago
by:
Registered User
Jump to the latest result
HTML Preparation code:
<script src="https://cdnjs.cloudflare.com/ajax/libs/immer/9.0.15/immer.umd.production.min.js"></script> <script> function proxify(obj, traversed, handler, newObj) { let shallow, proxy; if (traversed.has(obj)) { shallow = obj; proxy = traversed.get(shallow) } else { if(newObj) {newObj.modified=true; shallow = newObj;} else shallow = {}; let k = Object.keys(obj), _k, i = 0, len = k.length; for (; i < len; i++) { _k = k[i]; shallow[_k] = obj[_k]; } k = Object.getOwnPropertySymbols(obj); for (const _k of k) { shallow[_k] = obj[_k]; } proxy = new Proxy(shallow, handler) traversed.set(shallow, proxy); } return proxy; } function produce2(state, fn) { const traversed = new WeakMap(); const handler = { get(t, p) { const newObj = { obj: {}, modified: false, }; const proxied = proxify(t[p], traversed, handler, newObj); if (newObj.modified) t[p] = newObj.obj; return proxied; }, }; const newObj = { obj: {}, modified: false, }; const draft = proxify(state, traversed, handler, newObj); fn(draft, state); if (newObj.modified) return newObj.obj; return state; } </script>
Script Preparation code:
state = [ { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, { data: { data1: { data2: "test", }, }, }, ];
Tests:
Produce
const result = immer.produce(state, draft => { draft[0].data.data1.data2 = 'updated' draft[1].data.data1.data2 = 'updated' draft[2].data.data1.data2 = 'updated' draft[3].data.data1.data2 = 'updated' draft[4].data.data1.data2 = 'updated' draft[5].data.data1.data2 = 'updated' draft[6].data.data1.data2 = 'updated' draft[7].data.data1.data2 = 'updated' draft[8].data.data1.data2 = 'updated' draft[9].data.data1.data2 = 'updated' draft[10].data.data1.data2 = 'updated' })
Shallow lazy
const result = produce2(state, draft => { draft[0].data.data1.data2 = 'updated' draft[1].data.data1.data2 = 'updated' draft[2].data.data1.data2 = 'updated' draft[3].data.data1.data2 = 'updated' draft[4].data.data1.data2 = 'updated' draft[5].data.data1.data2 = 'updated' draft[6].data.data1.data2 = 'updated' draft[7].data.data1.data2 = 'updated' draft[8].data.data1.data2 = 'updated' draft[9].data.data1.data2 = 'updated' draft[10].data.data1.data2 = 'updated' })
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (2)
Previous results
Fork
Test case name
Result
Produce
Shallow lazy
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!
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
It appears that you are testing the performance of two different functions: `immer.produce` and `produce2`. Both functions seem to be designed for shallow cloning and mutation of objects. Based on the benchmark results, it seems that: * `immer.produce` is faster than `produce2`, with an average execution rate of 30530.05078125 executions per second (for "Shallow lazy") versus 18314.525390625 executions per second (for "Produce"). * The test environment appears to be running on a Windows desktop with Chrome 102 as the browser. Without more information, it's difficult to provide a definitive answer or recommendation. However, I can suggest some possible factors that might contribute to the performance difference: * `immer.proproduce` seems to use a Proxy object and a WeakMap for optimization, which could lead to better performance in some cases. * The `produce2` function uses a more traditional approach with a custom handler function, which might be less efficient due to the overhead of creating and managing the proxy. If you're looking to improve the performance of either function, I would recommend exploring optimization techniques such as: * Using caching or memoization to reduce the number of recursive calls. * Optimizing the data structures used for cloning and mutation. * Reducing unnecessary computations or side effects. However, without more information about your specific use case and requirements, it's difficult to provide a more detailed analysis.
Related benchmarks:
Check my data 2
Lodash (v4.17.15) isEqual test
Lodash isEqual test vs strict equality check
Lodash isEqual test vs Custom Recursive Function
Lodash isEqual Array of Objects test
Comments
Confirm delete:
Do you really want to delete benchmark?