title: Why is new slow?
body: <p><strong>The benchmark:</strong></p>
  
  <p><a href="http://jsperf.com/new-function-vs-literal-in-closure/5">JsPerf</a></p>
  
  <p><strong>The invariants:</strong></p>
  
  <pre><code>var f = function() { };
  
  var g = function() { return this; }
  </code></pre>
  
  <p><strong>The tests:</strong></p>
  
  <p>Below in order of expected speed</p>
  
  <ul>
  <li><code>new f;</code></li>
  <li><code>g.call(Object.create(Object.prototype));</code></li>
  <li><code>new (function() { })</code></li>
  <li><code>(function() { return this; }).call(Object.create(Object.prototype));</code></li>
  </ul>
  
  <p>Actual speed :</p>
  
  <ol>
  <li><code>new f;</code></li>
  <li><code>g.call(Object.create(Object.prototype));</code></li>
  <li><code>(function() { return this; }).call(Object.create(Object.prototype));</code></li>
  <li><code>new (function() { })</code></li>
  </ol>
  
  <p><strong>The question:</strong></p>
  
  <ol>
  <li>When you swap <code>f</code> and <code>g</code> for inline anonymous functions. Why is the <code>new</code> (test 4.) test slower?</li>
  </ol>
  
  <p><strong>Update:</strong></p>
  
  <p>What specifically causes the <code>new</code> to be slower when <code>f</code> and <code>g</code> are inlined.</p>
  
  <p>I'm interested in references to the ES5 specification or references to JagerMonkey or V8 source code. (Feel free to link JSC and Carakan source code too. Oh and the IE team can leak Chakra source if they want to).</p>
  
  <p>If you link any JS engine source, please explain it.</p>