Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Loop perf
(version: 1)
Comparing performance of:
$.each vs for vs map
Created:
9 years ago
by:
Registered User
Jump to the latest result
Script Preparation code:
var obj = [{'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}, {'value':1,text:'salut'}, {'value':2,text:'salut'}, {'value':3,text:'salut'}, {'value':4,text:'salut'}, {'value':5,text:'salut'}]
Tests:
$.each
var test1 = ''; $.each(obj, function(rowKey,row) { test1 += '<option value="'+row.value+'">'+row.text+'</option>'; } );
for
var test2 = ''; for(var key in obj) { var row = obj[key]; test2 += '<option value="'+row.value+'">'+row.text+'</option>'; }
map
var test3 = ''; obj.map(function(row) { test3 += '<option value="'+row.value+'">'+row.text+'</option>'; });
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (3)
Previous results
Fork
Test case name
Result
$.each
for
map
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):
Don't worry, I'm here to help! **Benchmark Definition JSON** The provided benchmark definition defines three test cases: `$$.each`, `for`, and `map`. These are all methods in the jQuery library. * **$.each**: This method is used to iterate over an array or object. It takes two parameters: a callback function that will be executed for each element, and an optional second parameter (index) which represents the current index of the iteration. * **for**: In this benchmark, `for` is used as a loop construct to iterate over the object. This method does not take any arguments other than a variable `key`, which represents the current key being iterated over in the object. * **map**: The `map()` function creates a new array with the results of applying a provided function on every element in this array. **Options Compared** In each benchmark, only one option is compared: 1. `$$.each` 2. `for` 3. `map` These are all methods that can be used to iterate over an object or array. Each has its pros and cons. ### $.each Pros: * Easy to use for simple iterations * Supports callback functions, which allow for more complex logic Cons: * Can be slower than other methods due to the need to create a DOM element on each iteration (when used with `DOMDocument`) * Not suitable for large datasets or performance-critical code ### For Pros: * Fast and lightweight * Suitable for large datasets or performance-critical code Cons: * Less intuitive than other methods, especially for developers unfamiliar with traditional loops * Does not support callback functions like `$.each` ### Map Pros: * Returns a new array without modifying the original data * Supports callback functions Cons: * Can be slower due to the need to create a new array and perform additional operations * May not be suitable for very large datasets or performance-critical code, as it can lead to memory exhaustion
Related benchmarks:
Mutable object reducer vs immutable object reducer
Spread vs object assign
Test-BC
makes fast
Comments
Confirm delete:
Do you really want to delete benchmark?