Skip to content

Commit 2dbaee9

Browse files
committed
better benchmark script
1 parent d627f8e commit 2dbaee9

2 files changed

Lines changed: 19 additions & 7 deletions

File tree

.github/workflows/routers-benchmark.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
# bun
3939
- name: bun
4040
continue-on-error: true
41-
run: bun start:bun md > results-bun.md
41+
run: bun start:bun results-bun.md
4242

4343
# deno
4444
- uses: denoland/setup-deno@v2.0.3
@@ -47,7 +47,7 @@ jobs:
4747

4848
- name: deno
4949
continue-on-error: true
50-
run: bun start:deno md > results-deno.md
50+
run: bun start:deno results-deno.md
5151

5252
# node
5353
- uses: actions/setup-node@v4
@@ -56,7 +56,7 @@ jobs:
5656

5757
- name: node
5858
continue-on-error: true
59-
run: bun start:node md > results-node.md
59+
run: bun start:node results-node.md
6060

6161
# Push results
6262
- name: Commit results

bench/run.ts

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,25 @@ import reporter from 'measure-loop/reporter';
44
import md_reporter from 'measure-loop/reporter/md';
55
import json_reporter from 'measure-loop/reporter/json';
66
import { env } from 'measure-loop';
7+
import { writeFileSync } from 'node:fs';
78

89
export default <T extends Runnable>(meta: ImportMeta, b: T): T => {
910
if (meta.main) {
10-
const format = process.argv.at(2);
11-
if (format === 'md') b.run({ env, reporter: md_reporter }).then(console.log);
12-
else if (format === 'json') b.run({ env, reporter: json_reporter }).then(console.log);
13-
else b.run({ env, reporter });
11+
const file = process.argv.at(2);
12+
if (file) {
13+
if (file.endsWith('.md')) {
14+
b.run({ env, reporter: md_reporter }).then((content) => {
15+
console.log(content);
16+
writeFileSync(file, content);
17+
});
18+
} else if (file.endsWith('.json')) {
19+
b.run({ env, reporter: json_reporter }).then((content) => {
20+
let str = JSON.stringify(content, null, 2);
21+
console.log(JSON.stringify(content, null, 2));
22+
writeFileSync(file, str);
23+
});
24+
} else throw new Error('unknown extension');
25+
} else b.run({ env, reporter });
1426
}
1527
return b;
1628
};

0 commit comments

Comments
 (0)