See kdy1/benchmark-done-right for the benchmark source code.
babel does not same work. It does only little bit of works, but I didn't bother to configure it because it's slow even it does tiny amounts of work.
babel does not support parellel transforms.
esbuild does not support
For most users, most important test result is parallel benchmark.
It's because build tool authors are smart enough to use
await Promise.all(tasks) and the benchmark scenario which is most close to it is
If you are not lucky enough and you need to apply transforms synchronously,
synchronous benchmark matters.
Performance of babel and tsc is identical as them of sychronous benchmark.
This benchmark suite does not use all cpu cores.
For swc, the benchmark stores only one task on node.js thread pool at a time.