cloneNode vs createElement

JavaScript performance comparison

Test case created by Espen Kåsa Notodden

Preparation code

<script>
  var a = document.createElement("a");
  var b = document.createElement("a")
  b.setAttribute("id", "myLink");
 
  var c = document.createElement("a")
  c.setAttribute("id", "myLink2");
  c.setAttribute("class", "aCouple ofClassNames");
  c.setAttribute("href", "#");
  c.setAttribute("rel", "someValue");
</script>

Test runner

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

Java applet disabled.

Testing in unknown unknown
Test Ops/sec
createElement, link
document.createElement("a");
pending…
createElement, link with id
document.createElement("a").setAttribute("id", "myLink");
pending…
cloneNode, link
a.cloneNode(true);
pending…
cloneNode, link with id
b.cloneNode(true);
pending…
createElement, attribute soup
var c = document.createElement("a")
c.setAttribute("id", "myLink2");
c.setAttribute("class", "aCouple ofClassNames");
c.setAttribute("href", "#");
c.setAttribute("rel", "someValue");
pending…
cloneNode, attribute soup
c.cloneNode(true)
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. Here’s a list of current revisions for this page:

0 comments

Add a comment