Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
lodash forEach vs for i loop vs native forEach 123
(version: 0)
Comparing performance of:
lodash.forEach vs native for vs native forEach vs for of
Created:
one year ago
by:
Guest
Jump to the latest result
HTML Preparation code:
<script src="https://cdn.jsdelivr.net/lodash/4.17.15/lodash.min.js"></script>
Script Preparation code:
var values = [{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494},{a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}, {a: 30310}, {b: 100303}, {c: 3040494}]
Tests:
lodash.forEach
var count = 0; _.forEach(values, function(v,i) { if (v.a != null) { count++; } })
native for
var count = 0; for (var i = 0; i < values.length; i++) { if (values[i].a != null) { count++; } }
native forEach
var count = 0; values.forEach(function(v) { if (v.a != null) { count++; } })
for of
var count = 0; for (const item of values) { if(item.a !==null) { count++; } }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
lodash.forEach
native for
native forEach
for of
Fastest:
N/A
Slowest:
N/A
Latest run results:
Run details:
(Test run date:
one year ago
)
User agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36 HBPC/12.1.3.306
Browser/OS:
Chrome 99 on Windows
View result in a separate tab
Embed
Embed Benchmark Result
Test name
Executions per second
lodash.forEach
157526.2 Ops/sec
native for
7869.5 Ops/sec
native forEach
743650.1 Ops/sec
for of
697299.1 Ops/sec
Autogenerated LLM Summary
(model
llama3.2:3b
, generated one year ago):
It seems like you're sharing benchmark results and test cases from an automated testing environment, possibly for JavaScript library performance. I'll provide a concise answer based on the information provided. The latest benchmark result shows that: 1. `native forEach` is the fastest, with approximately 743650 executions per second. 2. `for of` is slower, but still quite fast, with about 697299 executions per second. 3. `lodash.forEach` is significantly slower than both native methods, with around 157526 executions per second. In general, it's not surprising that the native methods (`native for`, `native forEach`) are faster than the library method (`lodash.forEach`). This is because they don't incur additional overhead from function calls and object lookups. The native methods can directly access the array elements using indices or iterators, which makes them more efficient. On the other hand, `lodash.forEach` likely adds some extra functionality and checks to ensure that the callback function is executed for each element in the array, which might come at a cost in terms of performance. If you're optimizing JavaScript code for performance, it's generally recommended to use native methods whenever possible. However, if you need to write more complex logic or want to make your code more concise and readable, using a library like Lodash can be beneficial.
Related benchmarks:
lodash.each vs Object.forEach vs Native for
lodash forEach vs for i loop modified
lodash .foreach vs native foreach vs native forof
lodash .foreach vs native foreach vs native for loop
Comments
Confirm delete:
Do you really want to delete benchmark?