Nested Named Functions

JavaScript performance comparison

Revision 51 of this test case created by ggbg

Preparation code

  function foo(a, b) {
    return bar(Math.random());

    function bar(c) {
      return a + b + c;
  function foo2(a, b) {
    return bar2(a, b, Math.random());
  function bar2(a, b, c) {
    return a + b + c;

  function foo3(a, b) {
    return bar3(a, b, Math.random());

    function bar3(x, y, z) {
      return x + y + z;

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
Optimized (No Nesting)
foo2(Math.random(), Math.random());
Nested Function
foo(Math.random(), Math.random());
nested function without shadowing
foo3(Math.random(), Math.random());

Compare results of other browsers


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