Tests:
  • Variant 1

    x
     
    var adder = {
        add: function(x, y) { return x + y; }
    };
    var a = (function() {
        var outer = 1;
        return {
            add: function(x, y) { return adder.add(x, y); }
        };
    })();
    for(var i = 0; i < 1000; ++i) {
        console.log(a.add(5,i));
    }
  • Variant 2

     
    var adder = {
        add: function(x, y) { return x + y; }
    };
    var b = (function(adder) {
        var outer = 1;
        return {
            add: function(x, y) { return adder.add(x, y); }
        };
    })(adder);
    for(var i = 0; i < 1000; ++i) {
        console.log(b.add(5,i));
    }
  • Error

     
    var adder = {
        add: function(x, y) { return x + y; }
    };
    var c = (function(adder) {
        var outer = 1;
        return {
            add: function(x, y) { return adder.add(x, y); }
        };
    })(adder);
    for(var i = 0; i < 1000; ++i) {
        console.log(c.add(5,i));
    }
Rendered benchmark preparation results:

Suite status: <idle, ready to run>

Previous results

Experimental features:

  • Test case name Result
    Variant 1
    Variant 2
    Error

    Fastest: N/A

    Slowest: N/A

Latest run results:
Run details: (Test run date: 3 years ago)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36 OPR/76.0.4017.123
Opera 76 on Windows
View result in a separate tab
Test name Executions per second
Variant 1 245.2 Ops/sec
Variant 2 242.3 Ops/sec
Error 247.1 Ops/sec