Render in memory vs direct DOM insertion

JavaScript performance comparison

Revision 12 of this test case created by

Preparation code

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<div id="workspace"></div>
      
<script>
Benchmark.prototype.teardown = function() {
  $("#workspace").html("");

};
</script>

Preparation code output

<div id="workspace"></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
Render in memory
var i = 200;
var domElmt = $(document.createElement('div'));
while (i--) {
  domElmt.append("<div>a new div</div>");
}
$("#workspace").append(domElmt);
pending…
Direct DOM insertion
var i = 200;
var domElmt = $(document.createElement('div')).appendTo("#workspace");
while (i--) {
  domElmt.append("<div>a new div</div>");
}
pending…
Direct DOM insertion to invisible element
var i = 200;
var domElmt = $(document.createElement('div')).css("display","none").appendTo("#workspace");
while (i--) {
  domElmt.append("<div>a new div</div>");
}
pending…
Render in memory (appendTo)
var i = 200;
var domElmt = $(document.createElement('div'));
while (i--) {
  $('<div>').html('a new div').appendTo(domElmt);
}
domElmt.appendTo("#workspace");
pending…
Direct DOM insertion (appendTo)
var i = 200;
var domElmt = $(document.createElement('div')).appendTo("#workspace");
while (i--) {
  $('<div>').html('a new div').appendTo(domElmt);
}
pending…
Direct DOM insertion to invisible element (appendTo)
var i = 200;
var domElmt = $(document.createElement('div')).hide().appendTo("#workspace");
while (i--) {
  $('<div>').html('a new div').appendTo(domElmt);
}
pending…

Compare results of other browsers

Revisions

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

0 Comments