for vs forEach
JavaScript performance comparison
Preparation code
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<script>
Benchmark.prototype.setup = function() {
var i,
value,
length,
values = [],
sum = 0,
context = values;
for (i = 0; i < 10000; i++) {
values[i] = Math.random();
}
function add(val) {
sum += val;
}
};
Benchmark.prototype.teardown = function() {
i = 0;
value = 0;
length = 0;
values = [];
sum = 0;
};
</script>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
forEach
|
|
pending… |
for loop, simple
|
|
pending… |
for loop, cached length
|
|
pending… |
for loop, reverse
|
|
pending… |
for loop, cached length, callback
|
|
pending… |
for loop, cached length, callback.call
|
|
pending… |
$.each
|
|
pending… |
for ... in
|
|
pending… |
for loop, reverse, decrement condition
|
|
pending… |
for loop, reverse, pre-decrement
|
|
pending… |
for loop, assignment condition
|
|
pending… |
for loop, assignment condition, reversed
|
|
pending… |
for loop, assignment condition, callback
|
|
pending… |
for loop, assignment condition, callback.call
|
|
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.
- Revision 2: published Adrian Sutton
- Revision 3: published Adrian Sutton
- Revision 5: published Adrian Sutton
- Revision 9: published alk
- Revision 10: published
- Revision 12: published
- Revision 15: published
- Revision 16: published RubaXa
- Revision 17: published
- Revision 20: published Brandon Satrom
- Revision 24: published
- Revision 26: published cfddream
- Revision 27: published cfddream
- Revision 31: published spongman
- Revision 32: published James Pamplin
- Revision 36: published
- Revision 37: published
- Revision 38: published Sujay
- Revision 46: published wicked
- Revision 47: published
- Revision 48: published smith
- Revision 49: published smith
- Revision 52: published
- Revision 53: published Jean Vincent
- Revision 54: published
- Revision 56: published
- Revision 57: published Gajus
- Revision 58: published
- Revision 59: published
- Revision 60: published
- Revision 61: published and last updated
- Revision 62: published
- Revision 63: published
- Revision 64: published
- Revision 65: published
- Revision 66: published gerhard
- Revision 67: published
- Revision 68: published
- Revision 69: published
- Revision 70: published
- Revision 71: published
- Revision 75: published
- Revision 76: published
- Revision 77: published and last updated
- Revision 79: published and last updated
- Revision 81: published PhilT
- Revision 82: published
- Revision 83: published
- Revision 84: published
- Revision 85: published
- Revision 87: published BrunoLM
- Revision 88: published
- Revision 89: published
- Revision 90: published
- Revision 91: published runsun
- Revision 92: published
- Revision 94: published
- Revision 95: published
- Revision 96: published
- Revision 98: published
- Revision 99: published
- Revision 100: published
- Revision 101: published
- Revision 102: published
- Revision 104: published
- Revision 105: published
- Revision 106: published
- Revision 107: published
- Revision 110: published
- Revision 111: published geoffff
- Revision 113: published
- Revision 114: published
- Revision 115: published
- Revision 116: published
- Revision 119: published
- Revision 120: published
- Revision 121: published
- Revision 123: published Chen-Pang He
- Revision 124: published
- Revision 125: published Erich Musick
- Revision 127: published
- Revision 129: published
- Revision 131: published
- Revision 132: published
- Revision 133: published Sander Elias
- Revision 134: published
- Revision 135: published
- Revision 136: published Sander Elias
- Revision 137: published Sander Elias
- Revision 138: published Sander Elias
- Revision 140: published
- Revision 142: published
- Revision 143: published
- Revision 144: published lolmaus
- Revision 145: published
- Revision 146: published Jesús Carrera
- Revision 147: published Jesús Carrera
- Revision 149: published csjdcjhs
- Revision 150: published
- Revision 151: published
- Revision 152: published Warren Krewenki
- Revision 153: published
- Revision 154: published
- Revision 155: published
- Revision 156: published
- Revision 157: published test34
- Revision 158: published magikMaker
- Revision 159: published
- Revision 160: published
- Revision 162: published Joey Schooley
- Revision 163: published Linas
- Revision 164: published Linas
- Revision 165: published Linas
- Revision 167: published
- Revision 168: published
- Revision 169: published
- Revision 170: published
- Revision 171: published
- Revision 173: published
- Revision 174: published
- Revision 175: published
- Revision 176: published
- Revision 177: published
- Revision 179: published
- Revision 181: published
- Revision 182: published
- Revision 183: published
- Revision 184: published Konstantin Ivanov
- Revision 187: published Konstantin Ivanov and last updated
- Revision 188: published
- Revision 189: published
- Revision 190: published Rodney Golpe
- Revision 197: published L3P3
- Revision 199: published brett
- Revision 201: published mbijon
- Revision 202: published
- Revision 203: published
- Revision 205: published
- Revision 212: published
- Revision 214: published
- Revision 215: published
- Revision 216: published Dave Hulme
- Revision 217: published
- Revision 218: published
- Revision 219: published
- Revision 220: published
- Revision 221: published David Mulder
- Revision 222: published
- Revision 223: published
- Revision 224: published
- Revision 226: published Alexey
- Revision 227: published Sean Johnson
- Revision 228: published
- Revision 231: published Test
- Revision 232: published ktmud
- Revision 233: published hiperonii
- Revision 234: published
- Revision 236: published Andrew Marais
- Revision 237: published muffin
- Revision 238: published
- Revision 239: published
- Revision 240: published Ken
- Revision 242: published dav
- Revision 243: published dav
- Revision 244: published Jose
- Revision 245: published Jerry
- Revision 246: published Andreas
- Revision 247: published
- Revision 248: published Per
- Revision 249: published Andreas
- Revision 250: published
- Revision 251: published -
- Revision 252: published Suraj
- Revision 253: published Oskar Alexanderson
- Revision 254: published Oskar Alexanderson
- Revision 256: published
- Revision 257: published
- Revision 258: published Trol
- Revision 259: published
- Revision 261: published Nick Tomlin
- Revision 262: published
- Revision 263: published
- Revision 264: published Jason Mayes
- Revision 265: published Krinkle
- Revision 266: published add for of
- Revision 267: published
- Revision 268: published Sam
- Revision 269: published
- Revision 270: published Tahar
- Revision 271: published
- Revision 272: published Anurag
- Revision 273: published Spyryto
- Revision 274: published
- Revision 276: published Peter and last updated
- Revision 277: published Steven Wiggins
- Revision 282: published Gregory Krohne
- Revision 284: published Nathan
- Revision 285: published
- Revision 286: published Tomasz
- Revision 287: published Fedir
- Revision 288: published
- Revision 289: published TooBug
- Revision 291: published
- Revision 292: published
- Revision 293: published Maxime Warnier
- Revision 294: published bob
- Revision 295: published bob
- Revision 296: published bob
- Revision 297: published
- Revision 298: published Sebastian Nette
- Revision 299: published
- Revision 300: published
- Revision 301: published
- Revision 303: published CSS style setter
- Revision 304: published Adam Kendall
- Revision 306: published
- Revision 307: published
- Revision 308: published
- Revision 309: published
- Revision 310: published mina86
- Revision 311: published
- Revision 312: published
- Revision 313: published
- Revision 314: published
- Revision 315: published 654
- Revision 316: published
- Revision 317: published
- Revision 318: published
- Revision 319: published
- Revision 320: published
- Revision 321: published
- Revision 323: published
- Revision 324: published
- Revision 325: published jkutianski
- Revision 326: published jkutianski
- Revision 327: published
- Revision 328: published
- Revision 329: published
- Revision 330: published Paul West
- Revision 332: published
- Revision 333: published
- Revision 337: published
- Revision 338: published
- Revision 339: published
- Revision 341: published
- Revision 342: published mvince
- Revision 343: published
- Revision 344: published cascascascascas
- Revision 345: published Asa
- Revision 346: published Christopher Haws
- Revision 348: published foreach vs while
- Revision 349: published Waqar Khan
- Revision 351: published
- Revision 352: published
- Revision 353: published
- Revision 354: published electron
- Revision 355: published electron
- Revision 356: published
- Revision 357: published
- Revision 358: published dened
- Revision 359: published alex
- Revision 360: published electron
- Revision 361: published
- Revision 364: published
- Revision 365: published nar
- Revision 366: published
- Revision 369: published
- Revision 378: published ali
- Revision 379: published ali
- Revision 380: published ali
- Revision 381: published ali
- Revision 383: published
- Revision 384: published Myron Yao
- Revision 386: published
- Revision 387: published
- Revision 388: published Pascal
- Revision 389: published GeoTest
- Revision 390: published
- Revision 391: published
- Revision 392: published
- Revision 393: published
- Revision 394: published
- Revision 395: published
- Revision 396: published psion
- Revision 397: published psion
- Revision 398: published npayot
- Revision 399: published
- Revision 401: published Arkh
- Revision 403: published jKey
- Revision 405: published Amuseum and last updated
- Revision 406: published Amuseum
- Revision 407: published Amuseum
- Revision 408: published
- Revision 409: published
- Revision 410: published
- Revision 412: published Amuseum
- Revision 413: published Amuseum
- Revision 414: published Amuseum
- Revision 415: published Amuseum
- Revision 416: published Amuseum
- Revision 417: published
- Revision 418: published
- Revision 419: published
- Revision 420: published eviltwist
- Revision 421: published eviltwist
- Revision 422: published eviltwist
- Revision 423: published JohnDoe
- Revision 424: published Benoit
- Revision 427: published
- Revision 428: published
- Revision 429: published
- Revision 431: published Ramu
- Revision 432: published
- Revision 433: published drpicox
- Revision 434: published drpicox
- Revision 435: published
- Revision 440: published
- Revision 441: published pusha
- Revision 442: published
- Revision 443: published serg
- Revision 444: published Jacob
- Revision 445: published asdf
- Revision 446: published M
- Revision 447: published
- Revision 449: published
- Revision 450: published
- Revision 451: published Another
- Revision 452: published Srdjan
- Revision 453: published Srdjan
- Revision 454: published Srdjan
- Revision 455: published Srdjan
- Revision 457: published
- Revision 458: published
- Revision 460: published test
- Revision 461: published yrdy
- Revision 462: published Joshua Koudys
- Revision 468: published
- Revision 470: published
- Revision 471: published
- Revision 472: published
- Revision 473: published
- Revision 474: published
- Revision 475: published
- Revision 476: published
- Revision 477: published
- Revision 478: published
- Revision 479: published
- Revision 480: published
- Revision 482: published kenny
- Revision 483: published ashley
- Revision 484: published ashley
- Revision 486: published Jimmy
- Revision 487: published Jimmy
- Revision 488: published David Godfrey
- Revision 489: published naak01
- Revision 491: published
- Revision 492: published
- Revision 493: published Andrei F.
- Revision 494: published TEST
- Revision 511: published Levi
- Revision 512: published
- Revision 513: published Chet Manley
- Revision 514: published Adrian Bartholomew
- Revision 520: published
- Revision 561: published eluzive
- Revision 563: published
- Revision 564: published montenk
- Revision 566: published
- Revision 567: published
- Revision 570: published Thomas den Hollander
- Revision 571: published Thomas den Hollander
- Revision 572: published Mark Kahn
- Revision 578: published Thorsten Erlewein
- Revision 579: published Thorsten Erlewein
- Revision 580: published
- Revision 581: published
- Revision 582: published
- Revision 584: published
- Revision 585: published Rastislav Vysoky
- Revision 586: published Pez Cuckow
- Revision 588: published Zach Peltzer
- Revision 589: published Jaro Schwab
- Revision 593: published Maksim
- Revision 594: published Maksim
- Revision 595: published Maksim
- Revision 596: published
- Revision 611: published Ben Hallion
- Revision 612: published
- Revision 615: published
- Revision 616: published Evgenii
- Revision 617: published Evgenii
- Revision 618: published Evgenii
- Revision 620: published Evgenii
- Revision 624: published Sage Gerard
- Revision 625: published Sage Gerard
- Revision 630: published
- Revision 639: published Siva Prasad
- Revision 640: published Siva Prasad
- Revision 644: published Andy Keech
- Revision 646: published A
- Revision 647: published A
- Revision 649: published kth
- Revision 650: published
- Revision 651: published
- Revision 652: published
- Revision 653: published
- Revision 654: published Deepu K Sasidharan
- Revision 655: published Deepu K Sasidharan
- Revision 656: published Deepu K Sasidharan
- Revision 657: published Deepu K Sasidharan
- Revision 665: published Richeve S. Bebedor
- Revision 667: published Richeve S. Bebedor
- Revision 670: published
- Revision 673: published Mark Banner
- Revision 675: published Mark Banner
- Revision 678: published Mark Banner
- Revision 679: published Mark Banner
- Revision 680: published George Mauer
- Revision 683: published George Mauer
- Revision 688: published Roxanne Courchesne
- Revision 689: published napoporitataso
- Revision 691: published
- Revision 694: published Steven
- Revision 700: published Piotr Strzelecki
- Revision 702: published César D Azevedo
- Revision 705: published Adam Kecskes
- Revision 706: published Adam Kecskes
- Revision 707: published
- Revision 709: published Graham Higgins
- Revision 712: published Graham Higgins
- Revision 720: published Rplus
- Revision 722: published Rplus
- Revision 723: published Israel Neves Micha
- Revision 725: published Jen
- Revision 727: published Jen Tran
- Revision 728: published Jen_Tran
- Revision 729: published
- Revision 730: published
- Revision 731: published Jen Tran
- Revision 732: published Ben Saufley
- Revision 733: published Ben Saufley
- Revision 734: published Ben Saufley
- Revision 736: published João Moreno
- Revision 741: published Mort&Mortis
- Revision 742: published Mort&Mortis
- Revision 752: published Tony Wooster
- Revision 755: published J.C.Ködel
- Revision 756: published J.C.Ködel
- Revision 757: published J.C.Ködel
- Revision 758: published
- Revision 759: published Patrick
- Revision 760: published
- Revision 761: published
- Revision 762: published Patrick Matt
- Revision 763: published
- Revision 764: published
- Revision 765: published
- Revision 766: published Kun-Fu Tseng
- Revision 767: published Kun-Fu Tseng
- Revision 768: published Kun-Fu Tseng
- Revision 769: published Kun-Fu Tseng
- Revision 770: published
0 Comments