innerHTML vs createElement test

JavaScript performance comparison

Revision 15 of this test case created by Thomas Giles

Info

Bare-Bones

We shouldn't care about string concatenation, or outerHTML returns; we want to know if using innerHTML or createElement is faster. We also don't care about adding to a "live" element, but one that is hidden; just in a variable for example.

For that reason, I have created the innerHTML string and the target "container" div before the test.

Preparation code

 
<script>
Benchmark.prototype.setup = function() {
    var container = document.createElement("DIV");
    var HTML = new Array(101).join("<span></span>");
};
</script>

Test runner

Warning! For accurate results, please disable Firebug before running the tests. (Why?)

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
100 element innerHTML
container.innerHTML = HTML;
pending…
createElement and appendChild
for (var i = 0; i < 100; i++) {
  container.appendChild(document.createElement("span"));
}
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:

0 comments

Add a comment