Stupid benchmark on a stupid computer for no reason.

T1:

var m = 0;
function d() { m += 1; }
function obj() { return { m: d }; }
var i = 0, l = 2 ** 29;
for (; i < l; i += 1) {
  obj().m();
}
print(m);

Node: 3.478s
Duktape: more than 17 min (I killed it)

T2:

var m = 0;
function d() { m += 1; }
function obj() {
  var a = { };
  a['m'] = d;
  return a;
}
var i = 0, l = 2 ** 29;
for (; i < l; i += 1) {
  obj().m();
}
print(m);

Node: 27.06s
Duktape: not even attempting

T1 Lua:

local m = 0
local function d() m = m + 1 end
local function obj() return { m = d } end
local l = 536870912
for i = 0, l do obj().m() end
print(m)

Lua: 5:40.30