console.log performance (v8)

Revision 8 of this benchmark created by Cody on


Preparation HTML

<div id="container"></div>

Setup

var container = document.getElementById("container"),
      obj = {
          one : 1,
          two : 2,
          three : {
              four : 4,
              five : "five",
              six : {
                  seven : [ 8, 9, 10, 11, 12 ],
                  thirteen : [ 14, 15, 16, 17 ]
              },
              eighteen : 18
          },
          nineteen : "nineteen"
  }
  
  function doSomethingAndWriteToLog() {
    for(var i = 0 ; i < 1000 ; i++) {
      var div = document.createElement("DIV");
      var span = document.createElement("SPAN");
      div.appendChild(span);
      container.appendChild(div);
      console.log(i);
    }
  }
  
  function doSomethingAndWriteObjToLog() {
    for(var i = 0 ; i < 1000 ; i++) {
      var div = document.createElement("DIV");
      var span = document.createElement("SPAN");
      div.appendChild(span);
      container.appendChild(div);
      console.log(obj);
    }
  }
  
  function justDoSomething() {
    for(var i = 0 ; i < 1000 ; i++) {
      var div = document.createElement("DIV");
      var span = document.createElement("SPAN");
      div.appendChild(span);
      container.appendChild(div);
    }
  }
  
  function doSomethingAndLogWhenDone(){
    for(var i = 0 ; i < 1000 ; i++) {
      var div = document.createElement("DIV");
      var span = document.createElement("SPAN");
      div.appendChild(span);
      container.appendChild(div);
    }
    console.log("Completed DOM operations!");
  }

Teardown



            container.innerHTML = "";
        
  

Test runner

Ready to run.

Testing in
TestOps/sec
iterations with logging
doSomethingAndLogWhenDone();
ready
iterations without logging
justDoSomething();
ready
iterations with logging obj
doSomethingAndLogObjWhenDone();
ready

Revisions

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