Document fragment vs innerHTML vs looped appendChild (v19)

Revision 19 of this benchmark created on


Preparation HTML

<div id="my-div"></div>

Setup

var div = document.getElementById('my-div'),
      loops = 10;

Test runner

Ready to run.

Testing in
TestOps/sec
innerHTML
var i = 0;
var res = "";

while (i < loops) {
  res += '<li>This is my list item number ' + i + '</li>';
  i++;
}

div.innerHTML = res
ready
Looped appendChild
var i = 0;

while (i < loops) {
  var el = document.createElement('li');
  el.textContent = 'This is my list item number ' + i;
  div.appendChild(el);
  i++;
}
ready
Document fragment
var i = 0,
  fragment = document.createDocumentFragment();

while (i < loops) {
  var el = document.createElement('li');
  el.textContent = 'This is my list item number ' + i;
  fragment.appendChild(el);
  i++;
}

div.appendChild(fragment);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.