4 ms·
JavaScript is 10-37x faster out of the box without any imports async function time_tasks(count=100) { async function nop_task() { return perf
by brrrrrm 4y ago
JavaScript is 10-37x faster out of the box without any imports
async function time_tasks(count=100) {
async function nop_task() {
return performance.now();
}
const start = performance.now()
let tasks = Array(count).map(nop_task)
await Promise.all(tasks)
const elapsed = performance.now() - start
return elapsed / 1e3
}
for (let count = 100000; count < 1000000 + 1; count += 100000) {
const ct = await time_tasks(count)
console.log(`${count}: ${1 / (ct / count)} tasks/sec`)
}
Outputs (Python 3.11, Bun 0.5.1):
% bun textual.ts
100000: 3767797.000743159 tasks/sec
200000: 9001406.4697609 tasks/sec
300000: 8281002.001242148 tasks/sec
400000: 10038491.340232708 tasks/sec
500000: 8976653.913474608 tasks/sec
600000: 10437550.828698047 tasks/sec
700000: 9443895.154523576 tasks/sec
800000: 11021991.118011119 tasks/sec
900000: 9790550.215324111 tasks/sec
1000000: 10263937.143648934 tasks/sec
% python3 textual.py
100,000 tasks 303,063 tasks per/s
200,000 tasks 270,058 tasks per/s
300,000 tasks 271,621 tasks per/s
400,000 tasks 261,945 tasks per/s
500,000 tasks 251,070 tasks per/s
600,000 tasks 272,520 tasks per/s
700,000 tasks 250,977 tasks per/s
800,000 tasks 253,131 tasks per/s
900,000 tasks 244,696 tasks per/s
1,000,000 tasks 266,061 tasks per/s
- seanw444 4y agoBun* is that much faster. Wonder what Node or Deno perform like.
- emmelaich 4y agoFWIW, Mac Air, dual core i7 1.7GHz $ deno run tasks.js 100000: 2777777.777777778 tasks/sec 200000: 3225806.4516129033 tasks/sec ... 800000: 2395209.580838323 tasks/sec 900000: 1679104.4776119404 tasks/sec 1000000: 1851851.8518518517 tasks/sec