silly-stuff/js-bench/for_vs_map.js

35 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-10-03 02:57:16 +00:00
const x = [];
for (let i = 0; i < 50_000_000; i++) {
x[i] = Math.random();
}
const for_test_list = [...x]
const for_timings = []
for (let i = 0; i < 10; i++) {
const startTime = performance.now()
for (let i = 0; i < for_test_list.length; i++) {
for_test_list[i] * 2
}
const timeElapsed = performance.now() - startTime
for_timings.push(timeElapsed)
console.log(`for#${i + 1} time: ${timeElapsed.toFixed(4)} ms`)
}
console.log(`Average 'for' time: ${(for_timings.reduce((a,b) => a+b)/for_timings.length).toFixed(4)} ms`)
print_xvals(for_test_list)
const map_test_list = [...x]
const map_timings = []
for (let i = 0; i < 10; i++) {
const startTime = performance.now()
map_test_list.map(val => val*2)
const timeElapsed = performance.now() - startTime
map_timings.push(timeElapsed)
console.log(`map#${i + 1} time: ${timeElapsed.toFixed(4)}`)
}
console.log(`Average 'map' time: ${(map_timings.reduce((a,b) => a+b)/for_timings.length).toFixed(4)} ms`)
print_xvals(map_test_list)
function print_xvals(x) {
console.log(x[0], x[Math.floor(x.length / 2)], x[x.length - 1])
}