HTML Preparation code:
AخA
 
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
Script Preparation code:
 
var obj = Array.from({ length: 10000 }).map((value, i) => i).reduce((val, v) => { val[v] = v; return val; }, {})
Tests:
  • lodash.each

     
    _.each(obj, function(v, k) {})
  • lodash.map

     
    _.map(obj, function(v, k) {})
  • Object.entries.forEach

     
    Object.entries(obj).forEach(function([k, v]) {})
  • vanilla for-loop w/ Object.entries

     
    const entries = Object.entries(obj);
    for (let i = 0; i < entries.length; i++) { const [k, v] = entries[i]; }
  • Object.keys.forEach

     
    Object.keys(obj).forEach(function(k) {const v = obj[k]})
  • vanilla for-loop w/ Object.keys

     
    const keys = Object.keys(obj);
    for (let i = 0; i < keys.length; i++) { const k = keys[i]; const v = obj[k]; }
  • for in

     
    for (const k in obj) {
      const v = obj[k]
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    lodash.each
    lodash.map
    Object.entries.forEach
    vanilla for-loop w/ Object.entries
    Object.keys.forEach
    vanilla for-loop w/ Object.keys
    for in

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.50
Chrome 98 on Windows
View result in a separate tab
Test name Executions per second
lodash.each 3082.9 Ops/sec
lodash.map 3103.2 Ops/sec
Object.entries.forEach 1506.1 Ops/sec
vanilla for-loop w/ Object.entries 1842.7 Ops/sec
Object.keys.forEach 848.2 Ops/sec
vanilla for-loop w/ Object.keys 917.2 Ops/sec
for in 828.9 Ops/sec