HTML Preparation code:
AخA
 
1
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>
2
<script src="https://cdn.jsdelivr.net/npm/dequal@2.0.2/dist/index.min.js"></script>
Script Preparation code:
x
 
// 1 level deep
window.foo1 = { a: 1, b: 2, c: { a: 1, b: 2, c: { a: 1, b: 2 } } };
window.bar1 = { a: 1, b: 3, c: { a: 1, b: 2, c: { a: 1, b: 2 } } };
// 2 levels deep
window.foo2 = { a: 1, b: 2, c: { a: 1, b: 2, c: { a: 1, b: 2 } } };
window.bar2 = { a: 1, b: 2, c: { a: 1, b: 3, c: { a: 1, b: 2 } } };
// 3 levels deep
window.foo3 = { a: 1, b: 2, c: { a: 1, b: 2, c: { a: 1, b: 2 } } };
window.bar3 = { a: 1, b: 2, c: { a: 1, b: 2, c: { a: 1, b: 4 } } };
Tests:
  • Level 1 isEqual

     
    _.isEqual(window.foo1, window.bar1)
  • Level 1 dequal

     
    dequal.dequal(window.foo1, window.bar1)
  • Level 1 stringify

     
    JSON.stringify(window.foo1) === JSON.stringify(window.bar1);
  • Level 2 isEqual

     
    _.isEqual(window.foo2, window.bar2)
  • Level 2 dequal

     
    dequal.dequal(window.foo2, window.bar2)
  • Level 2 stringify

     
    JSON.stringify(window.foo2) === JSON.stringify(window.bar2);
  • Level 3 isEqual

     
    _.isEqual(window.foo3, window.bar3)
  • Level 3 dequal

     
    dequal.dequal(window.foo3, window.bar3)
  • Level 3 stringify

     
    JSON.stringify(window.foo3) === JSON.stringify(window.bar3);
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Level 1 isEqual
    Level 1 dequal
    Level 1 stringify
    Level 2 isEqual
    Level 2 dequal
    Level 2 stringify
    Level 3 isEqual
    Level 3 dequal
    Level 3 stringify

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 5 days ago)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Chrome 135 on Mac OS X 10.15.7
View result in a separate tab
Test name Executions per second
Level 1 isEqual 3755401.0 Ops/sec
Level 1 dequal 21424006.0 Ops/sec
Level 1 stringify 3057170.2 Ops/sec
Level 2 isEqual 1787579.5 Ops/sec
Level 2 dequal 9994106.0 Ops/sec
Level 2 stringify 3518258.5 Ops/sec
Level 3 isEqual 1190490.8 Ops/sec
Level 3 dequal 5763307.5 Ops/sec
Level 3 stringify 3511011.2 Ops/sec