innerHTML read and write

Benchmark created on


Preparation HTML

<div id='test'></div>

Setup

var node = document.getElementById('test'),
      content = {
        'true': '<div></div>',
        'false': '<span></span>'
      },
      currentContent = true;

Test runner

Ready to run.

Testing in
TestOps/sec
rewrite same
currentContent = (Math.random() >= 0) ? currentContent : !currentContent;
node.innerHTML = content[currentContent];
ready
check same
currentContent = (Math.random() >= 0) ? currentContent : !currentContent;
if (node.innerHTML !== content[currentContent])
  node.innerHTML = content[currentContent];
ready
rewrite new
currentContent = (Math.random() >= 1) ? currentContent : !currentContent;
node.innerHTML = content[currentContent];
ready
check new
currentContent = (Math.random() >= 1) ? currentContent : !currentContent;
if (node.innerHTML !== content[currentContent])
  node.innerHTML = content[currentContent];
ready
rewrite 50/50
currentContent = (Math.random() >= 0.5) ? currentContent : !currentContent;
node.innerHTML = content[currentContent];
ready
check 50/50
currentContent = (Math.random() >= 0.5) ? currentContent : !currentContent;
if (node.innerHTML !== content[currentContent])
  node.innerHTML = content[currentContent];
ready

Revisions

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