experiments = [
{
name: "map 0 float",
run: () => values.map(cube0)
},
{
name: "map 1a float",
run: () => values.map(cube1a)
},
{
name: "map 1b float",
run: () => values.map(cube1b)
},
{
name: "map 2a float",
run: () => values.map(cube2a)
},
{
name: "map 2b float",
run: () => values.map(cube2b)
},
{
name: "map 0 array",
run: () => arrayValues.map(cube0)
},
{
name: "map 1a array",
run: () => arrayValues.map(cube1a)
},
{
name: "map 1b array",
run: () => arrayValues.map(cube1b)
},
{
name: "map 2a array",
run: () => arrayValues.map(cube2a)
},
{
name: "map 2b array",
run: () => arrayValues.map(cube2b)
},
{
name: "for 0 float",
run: () => {
const results = [];
for (let i = 0; i < values.length; i++) {
results.push(cube0(values[i]));
}
return results;
}
},
{
name: "for 1a float",
run: () => {
const results = [];
for (let i = 0; i < values.length; i++) {
results.push(cube1a(values[i], i));
}
return results;
}
},
{
name: "for 1b float",
run: () => {
const results = [];
for (let i = 0; i < values.length; i++) {
results.push(cube1b(values[i], i));
}
return results;
}
},
{
name: "for 2a float",
run: () => {
const results = [];
for (let i = 0; i < values.length; i++) {
results.push(cube2a(values[i], i, values));
}
return results;
}
},
{
name: "for 2b float",
run: () => {
const results = [];
for (let i = 0; i < values.length; i++) {
results.push(cube2b(values[i], i, values));
}
return results;
}
},
{
name: "for 0 array",
run: () => {
const results = [];
for (let i = 0; i < arrayValues.length; i++) {
results.push(cube0(arrayValues[i]));
}
return results;
}
},
{
name: "for 1a array",
run: () => {
const results = [];
for (let i = 0; i < arrayValues.length; i++) {
results.push(cube1a(arrayValues[i], i));
}
return results;
}
},
{
name: "for 1b array",
run: () => {
const results = [];
for (let i = 0; i < arrayValues.length; i++) {
results.push(cube1b(arrayValues[i], i));
}
return results;
}
},
{
name: "for 2a array",
run: () => {
const results = [];
for (let i = 0; i < arrayValues.length; i++) {
results.push(cube2a(arrayValues[i], i, arrayValues));
}
return results;
}
},
{
name: "for 2b array",
run: () => {
const results = [];
for (let i = 0; i < arrayValues.length; i++) {
results.push(cube2b(arrayValues[i], i, arrayValues));
}
return results;
}
},
{
name: "for pre 0 float",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < values.length; i++) {
results[i] = cube0(values[i]);
}
return results;
}
},
{
name: "for pre 1a float",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < values.length; i++) {
results[i] = cube1a(values[i], i);
}
return results;
}
},
{
name: "for pre 1b float",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < values.length; i++) {
results[i] = cube1b(values[i], i);
}
return results;
}
},
{
name: "for pre 2a float",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < values.length; i++) {
results[i] = cube2a(values[i], i, values);
}
return results;
}
},
{
name: "for pre 2b float",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < values.length; i++) {
results[i] = cube2b(values[i], i, values);
}
return results;
}
},
{
name: "for pre 0 array",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < arrayValues.length; i++) {
results[i] = cube0(arrayValues[i]);
}
return results;
}
},
{
name: "for pre 1a array",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < arrayValues.length; i++) {
results[i] = cube1a(arrayValues[i], i);
}
return results;
}
},
{
name: "for pre 1b array",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < arrayValues.length; i++) {
results[i] = cube1b(arrayValues[i], i);
}
return results;
}
},
{
name: "for pre 2a array",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < arrayValues.length; i++) {
results[i] = cube2a(arrayValues[i], i, arrayValues);
}
return results;
}
},
{
name: "for pre 2b array",
run: () => {
const results = Array.from({length: values.length});
for (let i = 0; i < arrayValues.length; i++) {
results[i] = cube2b(arrayValues[i], i, arrayValues);
}
return results;
}
},
{
name: "for pre pre 0 float",
run: () => {
for (let i = 0; i < values.length; i++) {
prealocatedValues[i] = cube0(values[i]);
}
return prealocatedValues;
}
},
{
name: "for pre pre 1a float",
run: () => {
for (let i = 0; i < values.length; i++) {
prealocatedValues[i] = cube1a(values[i], i);
}
return prealocatedValues;
}
},
{
name: "for pre pre 1b float",
run: () => {
for (let i = 0; i < values.length; i++) {
prealocatedValues[i] = cube1b(values[i], i);
}
return prealocatedValues;
}
},
{
name: "for pre pre 2a float",
run: () => {
for (let i = 0; i < values.length; i++) {
prealocatedValues[i] = cube2a(values[i], i, values);
}
return prealocatedValues;
}
},
{
name: "for pre pre 2b float",
run: () => {
for (let i = 0; i < values.length; i++) {
prealocatedValues[i] = cube2b(values[i], i, values);
}
return prealocatedValues;
}
},
{
name: "for pre pre 0 array",
run: () => {
for (let i = 0; i < arrayValues.length; i++) {
prealocatedArrayValues[i] = cube0(arrayValues[i]);
}
return prealocatedArrayValues;
}
},
{
name: "for pre pre 1a array",
run: () => {
for (let i = 0; i < arrayValues.length; i++) {
prealocatedArrayValues[i] = cube1a(arrayValues[i], i);
}
return prealocatedArrayValues;
}
},
{
name: "for pre pre 1b array",
run: () => {
for (let i = 0; i < arrayValues.length; i++) {
prealocatedArrayValues[i] = cube1b(arrayValues[i], i);
}
return prealocatedArrayValues;
}
},
{
name: "for pre pre 2a array",
run: () => {
for (let i = 0; i < arrayValues.length; i++) {
prealocatedArrayValues[i] = cube2a(arrayValues[i], i, arrayValues);
}
return prealocatedArrayValues;
}
},
{
name: "for pre pre 2b array",
run: () => {
for (let i = 0; i < arrayValues.length; i++) {
prealocatedArrayValues[i] = cube2b(arrayValues[i], i, arrayValues);
}
return prealocatedArrayValues;
}
}
]