documentFragment appendChild vs jquery append (v53)

Revision 53 of this benchmark created on


Preparation HTML

<div id="test-area" style="height: 75px; width: auto; overflow:scroll">
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>

Setup

var raw_fragment = document.createDocumentFragment();
    var raw_fragment2 = document.createDocumentFragment();
    var jq_fragment = $('<div/>');
    var $df = $(document.createDocumentFragment());

Teardown


    $('#test-area').empty();
  

Test runner

Ready to run.

Testing in
TestOps/sec
raw javascript
//var raw_fragment = document.createDocumentFragment();
//var i = 1;
//for (i; <= 100000; i++) {
var p = document.createElement("p");
p.appendChild(document.createTextNode("raw javascript, documentFragment"));
raw_fragment.appendChild(p);
//}
document.getElementById('test-area').appendChild(raw_fragment);
ready
jquery
//var jq_fragment = $('<div/>');

//var i = 1;
//for (i; <= 100000; i++) {
var p = $('<p/>');
p.append("jquery elements");
jq_fragment.append(p);
//}
$('#test-area').append(jq_fragment);
ready
jquery with doc fragment (using $.append)
//var $df = $(document.createDocumentFragment());

//var i = 1;
//for (i; <= 100000; i++) {
var p = $('<p/>');
p.append("jquery elements");
$df.append(p);
//}
$('#test-area').append($df);
ready
jquery with doc fragment (using raw js)
//var raw_fragment2 = document.createDocumentFragment();

//var i = 1;
//for (i; <= 100000; i++) {
var p = $('<p/>');
p.append("jquery elements");
raw_fragment2.appendChild(p[0]);
//}
$('#test-area').append(raw_fragment2);
ready

Revisions

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