innerHTML vs removeChild vs jquery.empty

JavaScript performance comparison

Revision 508 of this test case created by Andrew Tereshko

Preparation code

<script src="//code.jquery.com/jquery-3.2.1.min.js"></script>
<div id='box'></div>
      
<script>
Benchmark.prototype.setup = function() {
  var box = document.getElementById('box');
  var globalCount = 2000
  var maxDeep = 4
  var fillElement = function(el, count, deep) {
      deep = deep || 0
      for (var i = 0; i < count; i++){
          var c = document.createElement('div');
          c.textContent = 'Test case: ' + Date.now();
  
          el.appendChild(c);
  
          globalCount--
  
          if (deep < maxDeep && globalCount) {
              fillElement(c, count, deep + 1)
          }
      }
  }
  
  fillElement(box, 100)

};
</script>

Preparation code output

<div id='box'></div>

Test runner

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

Java applet disabled.

Testing in CCBot 2.0.0 / Other 0.0.0
Test Ops/sec
remove last child
let last

	while ((last = box.lastChild)) {
		box.removeChild(last)
	}
pending…

Revisions

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

0 Comments