рони,
Malleys,
в моем коде была ошибка:
return [start, end]
был уверен, что я написал end - start )))
немного модифицированный вариант )
const obj = (function (size, iterations, tests) {
console.log('BREAK THE MYTH ;p')
const array = Array.from({ length: size })
const iterator = Array.from({ length: iterations })
const score = iterator.map(iter =>
tests.map(test => {
const start = performance.now()
array.forEach((_, i) => test(i))
const end = performance.now()
return end - start
}))
console.table(score)
const results = score.reduce((acc, results) => {
results.forEach((result, i) => {
acc[i] += result
})
return acc
}, Array(tests.length).fill(0))
console.table(results)
})(
100000,
10,
[
i => `${i}myth`,
i => i + 'myth',
() => { }
],
)
но теперь нет конкретного победителя, от рефреша к рефрешу новые результаты...