JSFiddle - React, Tailwind, and code Playground

JavaScript

var ary1 = [];
var ary2 = [];
var obj = {};
var obj2 = {};

for (var i = 0; i < (338 * 338); i++) {
    ary1.push([i, i + 2]);
}

for (var i = 0; i < (339 * 339); i++) {
    ary2.push([i, i + 2]);
}

//Light operation
function test(i, j) {
    return Math.floor((i * j + i + j) / j);
}

//Heavy operation on objects
function calcTest(ary){
    var point = ary.splice(0, 1);
    var i = point[0];
    var j = point[1];

    if (!obj[i]) {
        obj[i] = [];
    }
    if (!obj[i][j]) {
        obj[i][j] = [];
    }

    obj[i][j]["one"] = test(i, j);
    obj[i][j]["two"] = test(i, j);

    obj2[obj[i][j]["two"]] = obj[i][j]["one"];

}

var len = ary1.length;
var start = new Date().getTime();

while (len--) {
    calcTest(ary1);
}

var end = new Date().getTime();
var time = end - start;
alert('Execution for 338x338: ' + time);

var len2 = ary2.length;
obj = {};
obj2 = {};

start = new Date().getTime();
while (len2--) {
    calcTest(ary2);
}
end = new Date().getTime();
time = end - start;
alert('Execution for 339x339: ' + time);