mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
* Add a zig fmt action * add failing file * Setup prettier better * Update prettier-fmt.yml * Fail on error * Update prettier-fmt.yml * boop * boop2 * tar.gz * Update zig-fmt.yml * Update zig-fmt.yml * Update zig-fmt.yml * Update zig-fmt.yml * Update zig-fmt.yml * boop * Update prettier-fmt.yml * tag * newlines * multiline * fixup * Update zig-fmt.yml * update it * fixup * both * w * Update prettier-fmt.yml * prettier all the things * Update package.json * zig fmt * ❌ ✅ * bump * . * quotes * fix prettier ignore * once more * Update prettier-fmt.yml * Update fallback.ts * consistentcy --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
65 lines
1.2 KiB
JavaScript
65 lines
1.2 KiB
JavaScript
const iterations = 1_000;
|
|
|
|
export var report = {
|
|
async: 0,
|
|
callback: 0,
|
|
sync: 0,
|
|
then: 0,
|
|
};
|
|
|
|
const tests = {
|
|
callback(n, cb) {
|
|
if (n === iterations) return cb();
|
|
tests.callback(1 + n, () => cb());
|
|
},
|
|
|
|
sync(n) {
|
|
if (n === iterations) return;
|
|
|
|
tests.sync(1 + n);
|
|
},
|
|
|
|
async async(n) {
|
|
if (n === iterations) return;
|
|
|
|
await tests.async(1 + n);
|
|
},
|
|
|
|
then(n) {
|
|
if (n === iterations) return;
|
|
return Promise.resolve(1 + n).then(tests.then);
|
|
},
|
|
};
|
|
|
|
async function test(log) {
|
|
{
|
|
const a = performance.now();
|
|
await tests.async(0);
|
|
if (log) console.log(`async/await: ${(report.async = (performance.now() - a).toFixed(4))}ms`);
|
|
}
|
|
|
|
{
|
|
const a = performance.now();
|
|
tests.callback(0, function () {
|
|
if (log) console.log(`callback: ${(report.callback = (performance.now() - a).toFixed(4))}ms`);
|
|
});
|
|
}
|
|
|
|
{
|
|
const a = performance.now();
|
|
await tests.then(0);
|
|
if (log) console.log(`then: ${(report.then = (performance.now() - a).toFixed(4))}ms`);
|
|
}
|
|
|
|
{
|
|
const a = performance.now();
|
|
tests.sync(0);
|
|
if (log) console.log(`sync: ${(report.sync = (performance.now() - a).toFixed(4))}ms`);
|
|
}
|
|
}
|
|
|
|
let warmup = 10;
|
|
while (warmup--) await test();
|
|
|
|
await test(true);
|