Skip to content

Commit d84bcc6

Browse files
committed
chore: add benchmark script
related to #387
1 parent f70104e commit d84bcc6

File tree

3 files changed

+46
-0
lines changed

3 files changed

+46
-0
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
"ioredis-mock": "^8.9.0",
8484
"jiti": "^1.21.0",
8585
"jsdom": "^24.0.0",
86+
"mitata": "^0.1.11",
8687
"monaco-editor": "^0.48.0",
8788
"mongodb": "^6.6.1",
8889
"mongodb-memory-server": "^9.2.0",

pnpm-lock.yaml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/server.bench.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { bench, run } from "mitata";
2+
import { listen } from "listhen";
3+
import { $fetch } from "ofetch";
4+
import { createStorage } from "../src/index.ts";
5+
import { createStorageServer } from "../src/server.ts";
6+
7+
async function main() {
8+
const storage = createStorage();
9+
10+
for (let i = 0; i < 10; i++) {
11+
for (let j = 0; j < 10; j++) {
12+
await storage.set(`key:${i}:${j}`, `value-${i}-${j}`);
13+
}
14+
}
15+
16+
const storageServer = createStorageServer(storage, {});
17+
18+
const { close, url: serverURL } = await listen(storageServer.handle, {
19+
port: { random: true },
20+
});
21+
22+
const fetchStorage = (url: string, options?: any) =>
23+
$fetch(url, { baseURL: serverURL, ...options });
24+
25+
bench("storage server", async () => {
26+
await Promise.all([
27+
await fetchStorage(`/key:`),
28+
await fetchStorage(`/key:0:0`),
29+
]);
30+
});
31+
32+
await run();
33+
34+
await close();
35+
}
36+
37+
main();

0 commit comments

Comments
 (0)