Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
23 lines
649 B
TypeScript
23 lines
649 B
TypeScript
import { MemorySessionRepo } from "../../src/harness/session/index.ts";
|
|
import type { SessionRepo } from "../../src/harness/session/types.ts";
|
|
import type { BenchmarkTarget } from "./benchmark.ts";
|
|
|
|
export interface SessionRepoBenchmarkFixture extends AsyncDisposable {
|
|
readonly repo: SessionRepo;
|
|
}
|
|
|
|
const NOW = 1_700_000_000_000;
|
|
|
|
export const sessionRepoBenchmarkTargets = [
|
|
{
|
|
name: "memory",
|
|
createFixture() {
|
|
const repo = new MemorySessionRepo({ now: () => NOW });
|
|
return Promise.resolve({
|
|
repo,
|
|
[Symbol.asyncDispose]: () => repo.close(),
|
|
});
|
|
},
|
|
},
|
|
] satisfies readonly BenchmarkTarget<SessionRepoBenchmarkFixture>[];
|