iso-bench
Version:
Small benchmark library focused in avoiding optimization/deoptimization pollution between tests by isolating them.
36 lines (35 loc) • 939 B
TypeScript
import { IsoBenchOptions, Processor } from ".";
export type Sample = {
cycles: number;
time: number;
ops: number;
};
export type TestOptions = {
samplesPerSpawn?: number;
spawns?: number;
} & ({
customCycles: number;
} | {
customCycles?: null;
time?: number;
});
type TestCallbackSetup<T> = {
callback: (setupData: T) => void;
setup?: (() => T) | null;
};
export declare class Test {
readonly name: string;
readonly index: number;
readonly options: Required<TestOptions>;
private _cb;
error: string | null;
opMs: number;
totalTime: number;
samples: Sample[];
group: string;
constructor(name: string, index: number, options: Required<TestOptions>, _cb: TestCallbackSetup<unknown>);
fork(benchName: string, processors: Processor[], options: Required<IsoBenchOptions>): Promise<void>;
setGroup(name: string): void;
run(): Promise<void>;
}
export {};