JSFiddle - React, Tailwind, and code Playground
by balefrost
JavaScript
function timeFn(name, times, fn) {
var start = Date.now();
for (var i = 0; i < times; ++i) {
fn();
}
var stop = Date.now();
console.log(name, ":", stop - start, "ms");
}
function Callable2(f, a0, a1) {
this._f = f;
this._a0 = a0;
this._a1 = a1;
}
Callable2.prototype.invoke = function() {
return this._f(this._a0, this._a1);
};
function Callable0(f) {
this._f = f;
}
Callable0.prototype.invoke = function() {
return this._f();
};
var rounds = 3;
var times = 50000;
function lifted1(closure0, closure1) {
closure0.z = closure0.z + closure1.i;
}
function test1() {
var fns = [];
var closure0 = {
z: 0
};
for (var i = 0; i <= 100; ++i) {
fns.push({
f: lifted1,
args: [closure0, { i: i }]
});
}
for (var j = 0; j < fns.length; ++j) {
var fne = fns[j];
var fnea = fne.args;
fne.f(fnea[0], fnea[1]);
}
if (closure0.z !== 5050) {
throw new Error("Incorrect result " + closure0.z);
}
}
function lifted1a(closure0, i) {
closure0.z = closure0.z + i;
}
function test1a() {
var fns = [];
var closure0 = {
z: 0
};
for (var i = 0; i <= 100; ++i) {
fns.push({
f: lifted1a,
args: [closure0, i]
});
}
for (var j = 0; j < fns.length; ++j) {
var fne = fns[j];
var fnea = fne.args
fne.f(fnea[0], fnea[1]);
}
if (closure0.z !== 5050) {
throw new Error("Incorrect result " + closure0.z);
}
}
function lifted1b(closure0, i) {
closure0.z = closure0.z + i;
}
function test1b() {
var fns = [];
var closure0 = {
z: 0
};
for (var i = 0; i <= 100; ++i) {
fns.push({
f: lifted1b,
arg0: closure0,
arg1: i
});
}
for (var j = 0; j < fns.length; ++j) {
var fne = fns[j];
fne.f(fne.arg0, fne.arg1);
}
if (closure0.z !== 5050) {
throw new Error("Incorrect result " + closure0.z);
}
}
function lifted1c(closure0, i) {
closure0.z = closure0.z + i;
}
function test1c() {
var fns = [];
var closure0 = {
...