out of dom vs documentfragment Vs Inner HTML (v20)

Revision 20 of this benchmark created on


Description

innerHTML performs faster than all.

Preparation HTML

<div id="list1">
</div>
<div id="list2">
</div>

Test runner

Ready to run.

Testing in
TestOps/sec
innerHTML
var list = document.getElementById('list1');
var str = '<div>',
    i;
for (i = 0; i < 500; i++) {
  str = str + '<a style="display:block;">link' + i + '</a>';
}
list.innerHTML = str + '</div>';
ready
documentfragment
var list = document.getElementById('list2'),
    elem = document.createDocumentFragment(),
    elem2 = document.createElement('div');

list.innerHTML = "";
for (var i = 0; i < 500; i++) {
  a = document.createElement('a');
  a.innerHTML = 'link ' + i;
  a.style.display = 'block';
  elem.appendChild(a);
}
elem2.appendChild(elem);
list.appendChild(elem2);
ready
out of dom
var list = document.getElementById('list1'),
    elem = document.createElement('div');

list.innerHTML = "";
for (var i = 0; i < 500; i++) {
  a = document.createElement('a');
  a.innerHTML = 'link ' + i;
  a.style.display = 'block';
  elem.appendChild(a);
}
list.appendChild(elem);
ready

Revisions

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