Underscore.each vs jQuery.each vs. for loop
JavaScript performance comparison
Preparation code
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="//documentcloud.github.com/underscore/underscore-min.js"></script>
<script>
var pi = Math.PI
var a = new Array(10000),
e;
</script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
| Test | Ops/sec | |
|---|---|---|
jQuery.each |
|
pending… |
good old for loop |
|
pending… |
underscore.each |
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit to the URL. Here’s a list of current revisions for this page:
- Revision 1: published by James Padolsey
- Revision 2: published
- Revision 3: published and last updated
- Revision 4: published by petsel
- Revision 5: published
- Revision 6: published by antimatter15
- Revision 11: published by Kenneth Auchenberg
- Revision 12: published by Morgan Roderick
- Revision 13: published by Morgan Roderick
- Revision 14: published by Gildas
- Revision 15: published by Richard Lopes
- Revision 16: published
- Revision 17: published by Rodolfo
- Revision 18: published
- Revision 19: published by Michael
- Revision 24: published by Addy Osmani
- Revision 25: published by apla
- Revision 26: published
- Revision 27: published
- Revision 30: published
- Revision 31: published by Bruno Windels
- Revision 32: published
- Revision 33: published
- Revision 34: published
- Revision 35: published
- Revision 36: published by blocks-vs-functions
- Revision 37: published
- Revision 38: published by George Paterson
- Revision 39: published by masklinn
- Revision 41: published
- Revision 42: published
- Revision 43: published
- Revision 44: published
- Revision 45: published
- Revision 46: published
- Revision 47: published
- Revision 48: published
- Revision 49: published
- Revision 50: published by Mariusz
- Revision 51: published
- Revision 52: published
- Revision 53: published by Addy Osmani
- Revision 54: published
- Revision 55: published
- Revision 56: published
- Revision 57: published
- Revision 58: published
- Revision 59: published
- Revision 65: published
- Revision 66: published
- Revision 67: published
- Revision 68: published
- Revision 69: published
- Revision 70: published
- Revision 71: published
- Revision 72: published
- Revision 73: published
- Revision 74: published
- Revision 75: published
- Revision 76: published
- Revision 77: published by Paul Grenier
- Revision 78: published by Hoisel
- Revision 79: published
- Revision 80: published
- Revision 81: published
- Revision 82: published
- Revision 84: published by Jordan Ilchev
- Revision 85: published
- Revision 86: published
- Revision 87: published
- Revision 88: published by Juan Arribillaga
- Revision 89: published
- Revision 90: published
- Revision 91: published
- Revision 92: published by David G and last updated
- Revision 93: published by Tyler Young
- Revision 94: published by Tyler Young
- Revision 96: published
- Revision 97: published
- Revision 98: published
- Revision 99: published
- Revision 102: published
- Revision 103: published
- Revision 104: published
- Revision 105: published
- Revision 106: published
- Revision 107: published
- Revision 108: published
- Revision 109: published
- Revision 110: published
- Revision 113: published
- Revision 114: published
- Revision 115: published
- Revision 116: published
- Revision 117: published
- Revision 120: published
- Revision 124: published
- Revision 125: published
- Revision 128: published
- Revision 129: published
- Revision 131: published
- Revision 132: published
- Revision 133: published by GeX
- Revision 134: published
- Revision 135: published
- Revision 138: published by Igor Shastin
- Revision 139: published
- Revision 140: published
- Revision 141: published by vincicat
- Revision 143: published by Jacky
- Revision 144: published by bunny
- Revision 146: published
- Revision 147: published
- Revision 148: published
- Revision 149: published
- Revision 151: published
- Revision 153: published by Srikanth
- Revision 154: published
- Revision 155: published
- Revision 156: published by Gary Ranson
- Revision 157: published
- Revision 158: published by Gary Ranson
- Revision 160: published
- Revision 161: published
- Revision 162: published by Paul Grenier and last updated
- Revision 163: published
- Revision 164: published
- Revision 168: published
- Revision 169: published by Vicente Russo
- Revision 170: published by Vicente Russo
- Revision 171: published by Vicente Russo
- Revision 172: published
- Revision 174: published by Marius
- Revision 175: published
- Revision 177: published
- Revision 179: published
- Revision 182: published
- Revision 183: published
- Revision 184: published
- Revision 185: published
- Revision 186: published
- Revision 188: published by Jack
- Revision 189: published
- Revision 191: published
- Revision 192: published
- Revision 193: published by Dmitriy
- Revision 194: published
- Revision 195: published
- Revision 196: published
- Revision 197: published
- Revision 198: published
- Revision 199: published
- Revision 200: published
- Revision 201: published
- Revision 202: published
- Revision 204: published
- Revision 205: published
- Revision 206: published by moechofe
- Revision 207: published
- Revision 208: published
- Revision 209: published by bill
- Revision 210: published
- Revision 211: published by pavelrevers
- Revision 212: published
- Revision 213: published
- Revision 214: published
- Revision 215: published
- Revision 217: published
- Revision 218: published
- Revision 219: published
- Revision 220: published
- Revision 221: published
- Revision 223: published
- Revision 224: published by Marc J. Schmidt
- Revision 225: published
- Revision 226: published
- Revision 227: published
- Revision 228: published
- Revision 230: published
- Revision 231: published
- Revision 232: published
- Revision 233: published
- Revision 234: published by Stuart Bannerman
- Revision 235: published by Dan DeFelippi
- Revision 237: published
- Revision 238: published
- Revision 239: published
- Revision 240: published
- Revision 241: published
- Revision 243: published
- Revision 244: published
1 comment
Why is the array value not read inside all loops? It seems to me that this gives an advantage to the variations of the good old for loop, since other implementations (jQuery, Underscore, iterator) always read the source array, whether the value is used inside the loop or not.