innerHTML vs removeChild
JavaScript performance comparison
Preparation code
<div id='box' style="display:none">
</div>
<script>
Benchmark.prototype.setup = function() {
var box = document.getElementById('box');
box.innerHTML = 'sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>'
};
Benchmark.prototype.teardown = function() {
box.innerHTML = 'sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>s f</b>s df<p>df gsdfg sf g<b>'
};
</script>
Preparation code output
<div id='box' style="display:none">
</div>
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
remove first child
|
|
pending… |
remove last child
|
|
pending… |
innerHTML
|
|
pending… |
hasChildNodes
|
|
pending… |
check first child
|
|
pending… |
hasChildNodes length
|
|
pending… |
linked list
|
|
pending… |
check first child simpler
|
|
pending… |
linked list 2
|
|
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 1: published Ali Mihandoost
- Revision 2: published Ali Mihandoost
- Revision 5: published XP1
- Revision 6: published
- Revision 7: published
- Revision 8: published
- Revision 9: published
- Revision 10: published
- Revision 11: published
- Revision 12: published
- Revision 13: published
- Revision 14: published Philip O'Brien
- Revision 15: published
- Revision 16: published
- Revision 17: published Grant Kiely
- Revision 18: published
- Revision 19: published Grant Kiely
- Revision 20: published Grant Kiely
- Revision 23: published
- Revision 24: published
- Revision 25: published
- Revision 26: published
- Revision 28: published nickinuse
- Revision 32: published
- Revision 33: published
- Revision 34: published
- Revision 35: published
- Revision 36: published
- Revision 37: published Thomas Lindstrøm
- Revision 38: published
- Revision 40: published
- Revision 41: published Thomas Lindstrøm
- Revision 42: published Tomás Girardi
- Revision 43: published Filip Smets
- Revision 44: published
- Revision 45: published resnyanskiy
- Revision 47: published
- Revision 48: published
- Revision 49: published
- Revision 50: published johnchen902
- Revision 51: published
- Revision 52: published cromwellian
- Revision 53: published
- Revision 54: published
- Revision 55: published
- Revision 56: published
- Revision 57: published
- Revision 58: published
- Revision 59: published arjun
- Revision 60: published
- Revision 61: published
- Revision 62: published Paulo Barcelos
- Revision 63: published
- Revision 64: published
- Revision 65: published
- Revision 66: published
- Revision 67: published
- Revision 68: published
- Revision 69: published
- Revision 71: published
- Revision 72: published
- Revision 73: published
- Revision 74: published
- Revision 76: published
- Revision 77: published
- Revision 78: published
- Revision 79: published
- Revision 80: published
- Revision 81: published
- Revision 82: published
- Revision 83: published
- Revision 84: published
- Revision 85: published
- Revision 86: published
- Revision 87: published
- Revision 88: published
- Revision 89: published and last updated
- Revision 90: published
- Revision 91: published
- Revision 93: published
- Revision 94: published
- Revision 95: published Drew Noakes
- Revision 96: published
- Revision 97: published
- Revision 98: published
- Revision 99: published Jie Ren
- Revision 100: published
- Revision 101: published José Luis
- Revision 102: published
- Revision 103: published
- Revision 104: published
- Revision 105: published
- Revision 106: published
- Revision 108: published prashant sheoran
- Revision 109: published herrernst
- Revision 110: published
- Revision 115: published
- Revision 117: published Eamon Nerbonne
- Revision 120: published Eamon Nerbonne
- Revision 123: published
- Revision 124: published Heavensrevenge
- Revision 125: published
- Revision 126: published Alex Zielenski
- Revision 127: published
- Revision 128: published
- Revision 129: published
- Revision 130: published
- Revision 131: published
- Revision 132: published
- Revision 133: published deser
- Revision 134: published Matt Harker
- Revision 135: published
- Revision 137: published DanMan
- Revision 138: published DanMan
- Revision 139: published empty
- Revision 140: published empty
- Revision 141: published empty
- Revision 142: published empty
- Revision 143: published empty
- Revision 144: published empty
- Revision 146: published
- Revision 147: published
- Revision 148: published
- Revision 149: published
- Revision 150: published
- Revision 151: published
- Revision 152: published
- Revision 154: published
- Revision 155: published
- Revision 156: published
- Revision 157: published Stuart P. Bentley
- Revision 158: published
- Revision 160: published Joshua Koudys
- Revision 161: published Joshua Koudys
- Revision 162: published Joshua Koudys
- Revision 163: published aaaaa
- Revision 167: published npjohns
- Revision 168: published
- Revision 169: published
- Revision 172: published roland
- Revision 173: published
- Revision 174: published
- Revision 176: published
- Revision 177: published olli k
- Revision 178: published
- Revision 180: published Alex
- Revision 182: published
- Revision 184: published
- Revision 185: published
- Revision 186: published Deep
- Revision 187: published
- Revision 189: published Dave
- Revision 190: published
- Revision 191: published hansifer
- Revision 193: published
- Revision 194: published
- Revision 195: published
- Revision 197: published
- Revision 198: published blackmambahk
- Revision 199: published blackmambahk
- Revision 200: published
- Revision 201: published Harald Glatt
- Revision 202: published Harald Glatt
- Revision 203: published blackmambahk
- Revision 204: published Qix
- Revision 205: published
- Revision 206: published
- Revision 207: published
- Revision 208: published
- Revision 209: published
- Revision 210: published
- Revision 211: published
- Revision 212: published
- Revision 213: published
- Revision 215: published
- Revision 216: published
- Revision 217: published X
- Revision 218: published
- Revision 219: published
- Revision 220: published include for removeNode loop
- Revision 221: published
- Revision 222: published
- Revision 223: published
- Revision 233: published
- Revision 234: published
- Revision 237: published
- Revision 238: published
- Revision 239: published
- Revision 242: published
- Revision 243: published Mark Everitt
- Revision 244: published Tri
- Revision 245: published
- Revision 246: published
- Revision 247: published
- Revision 248: published Tri
- Revision 250: published fefw
- Revision 251: published
- Revision 252: published
- Revision 253: published
- Revision 254: published alsh
- Revision 255: published David
- Revision 256: published and last updated
- Revision 257: published
- Revision 258: published
- Revision 259: published
- Revision 260: published
- Revision 261: published
- Revision 262: published robrez
- Revision 263: published
- Revision 264: published DanMan
- Revision 265: published DanMan
- Revision 266: published DanMan
- Revision 267: published Maurizio
- Revision 268: published Kasper
- Revision 270: published Joel Richard
- Revision 273: published
- Revision 274: published Mark
- Revision 276: published Yuri Sturmer
- Revision 278: published
- Revision 282: published
- Revision 287: published John Hammel
- Revision 288: published
- Revision 289: published
- Revision 290: published
- Revision 292: published
- Revision 293: published
- Revision 294: published
- Revision 295: published
- Revision 296: published
- Revision 297: published eight
- Revision 300: published npjohns
- Revision 301: published
- Revision 302: published Nicolas Normand
- Revision 305: published
- Revision 306: published
- Revision 307: published awesomebing1
- Revision 308: published madreason
- Revision 309: published madreason
- Revision 310: published
- Revision 311: published
- Revision 312: published
- Revision 313: published
- Revision 314: published
- Revision 316: published
- Revision 317: published Bobinours
- Revision 319: published buzinas
- Revision 320: published
- Revision 321: published
- Revision 322: published
- Revision 323: published
- Revision 325: published
- Revision 327: published
- Revision 328: published
- Revision 329: published
- Revision 330: published
- Revision 332: published
- Revision 336: published aLx
- Revision 337: published
- Revision 338: published
- Revision 339: published
- Revision 340: published Denis
- Revision 341: published Roman
- Revision 343: published
- Revision 344: published Javier Lázaro
- Revision 345: published
- Revision 349: published Andrew
- Revision 351: published valid innerHTML test
- Revision 352: published valid innerHTML test
- Revision 353: published valid innerHTML test
- Revision 355: published
- Revision 357: published
- Revision 358: published Andoitz
- Revision 359: published Andoitz
- Revision 360: published Andoitz
- Revision 361: published
- Revision 362: published
- Revision 363: published
- Revision 365: published Knio
- Revision 366: published Knio
- Revision 367: published Rob Simpson
- Revision 368: published
- Revision 369: published Chris
- Revision 370: published Bryan
- Revision 371: published
- Revision 372: published
- Revision 373: published
- Revision 374: published
- Revision 375: published
- Revision 376: published Alex Offshore
- Revision 377: published Bob McCoy
- Revision 380: published
- Revision 381: published
- Revision 382: published
- Revision 383: published
- Revision 384: published
- Revision 385: published
- Revision 386: published
- Revision 387: published
- Revision 388: published
- Revision 389: published
- Revision 392: published Adam
- Revision 393: published
- Revision 394: published Alex
- Revision 395: published Melozzo
- Revision 396: published
- Revision 397: published
- Revision 398: published
- Revision 399: published
- Revision 400: published plackizpyrcizny
- Revision 402: published
- Revision 403: published
- Revision 404: published
- Revision 405: published
- Revision 406: published
- Revision 407: published
- Revision 408: published
- Revision 409: published
- Revision 410: published
- Revision 411: published
- Revision 411: published
- Revision 412: published
- Revision 413: published Anthony Weber
- Revision 414: published Anthony Weber
- Revision 415: published Anthony Weber
- Revision 416: published Isaac Jurado
- Revision 417: published Isaac Jurado
- Revision 418: published Franklin Tse
- Revision 419: published Franklin Tse
- Revision 420: published Franklin Tse
- Revision 421: published Chandrasekhar Ambula V
- Revision 422: published Zhao Wei Liew
- Revision 424: published Isaac Jurado
- Revision 425: published Isaac Jurado
- Revision 426: published Isaac Jurado
- Revision 427: published
- Revision 428: published
- Revision 429: published
- Revision 430: published Vilhelm Sjölund
- Revision 434: published
- Revision 435: published
- Revision 436: published Vincent Rubinetti
- Revision 437: published Jonathan Park
- Revision 438: published Jonathan Park
- Revision 439: published
- Revision 440: published
- Revision 441: published Marcelo Barros
- Revision 442: published Marcelo Barros
- Revision 443: published Marcelo Barros
- Revision 444: published Marcelo Barros
- Revision 445: published Marcelo Barros
- Revision 446: published Marcelo Barros
- Revision 447: published Marcelo Barros
- Revision 448: published Marcelo Barros
- Revision 449: published Marcelo Barros
- Revision 450: published Marcelo Barros
- Revision 451: published Marcelo Barros
- Revision 454: published Andrew Charles
- Revision 455: published Andrew Charles
- Revision 456: published Andrew Charles
- Revision 457: published Andrew Charles
- Revision 458: published T. H. Doan
- Revision 459: published T. H. Doan
- Revision 460: published T. H. Doan
- Revision 461: published T. H. Doan
- Revision 462: published T. H. Doan
- Revision 463: published T. H. Doan
- Revision 464: published T. H. Doan
- Revision 465: published T. H. Doan
- Revision 466: published T. H. Doan
- Revision 467: published T. H. Doan
- Revision 468: published Aaditya Taparia
- Revision 469: published Dario Segura
- Revision 473: published Md. Enzam Hossain
- Revision 474: published Md. Enzam Hossain
- Revision 475: published
- Revision 478: published
- Revision 479: published Victor de Oliveira Areas
- Revision 480: published Victor de Oliveira Areas
- Revision 481: published Victor de Oliveira Areas
- Revision 482: published Jaibatrik Dutta
- Revision 484: published Michael Rawlings
- Revision 485: published Viktor N Rykov
- Revision 486: published Viktor N Rykov
- Revision 487: published Viktor N Rykov
- Revision 488: published err
- Revision 489: published
- Revision 494: published Victor de Oliveira Areas
- Revision 495: published Victor de Oliveira Areas
- Revision 496: published Victor de Oliveira Areas
- Revision 497: published Victor de Oliveira Areas
- Revision 498: published Dan Gowans
- Revision 499: published Dan Gowans
- Revision 500: published Dan Gowans
- Revision 501: published Dan Gowans
- Revision 502: published Dan Gowans
- Revision 503: published K. Adam Christensen
- Revision 504: published K. Adam Christensen
- Revision 505: published Maxim Kulikov
- Revision 506: published
- Revision 511: published Noel
- Revision 512: published Noel
- Revision 513: published Noel
- Revision 514: published Noel
- Revision 519: published Jakub Freisler
- Revision 520: published Jakub Freisler
- Revision 525: published Christopher Rogers
- Revision 526: published Christopher Rogers
- Revision 527: published Christopher Rogers
- Revision 530: published Felipe Leusin
0 Comments