resume node (v3)

Revision 3 of this benchmark created on


Preparation HTML

<div>
<p id="test"></p>
</div>
<script>
  var el = document.getElementById('test');
  function resume(el,fn){
  var next = el.nextSibling,
  parent = el.parentNode;
  fn();
  next ? parent.insertBefore(el,next):
         parent.appendChild(el);
  
  }
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
function

var next = el.nextSibling,
parent = el.parentNode,
resume = next ? function(){parent.insertBefore(el,next)}:
       function(){parent.appendChild(el);};


            var frm = document.createElement('form');
            frm.appendChild(el);
resume();
ready
no function
            var next = el.nextSibling,
                parent = el.parentNode;
            var frm = document.createElement('form');
            frm.appendChild(el);
            next ? parent.insertBefore(el,next) : parent.appendChild(el);
ready
tempNode
var temp = document.createElement('ins');
el.parentNode.insertBefore(temp,el);
var frm = document.createElement('form');
frm.appendChild(el);
temp.parentNode.replaceChild(el,temp);
ready
tempTextNode
var temp = document.createTextNode('');
el.parentNode.insertBefore(temp,el);

            var frm = document.createElement('form');
            frm.appendChild(el);
temp.parentNode.replaceChild(el,temp);
ready
sumeFunction
resume(el,function(){
            var frm = document.createElement('form');
            frm.appendChild(el);
});
ready

Revisions

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