MCPcopy
hub / github.com/colinhacks/zod / benchWithData

Function benchWithData

packages/bench/metabench.ts:36–63  ·  view source on GitHub ↗
(params: BenchWithDataParams<D> & ThisType<{ data: D }>)

Source from the content-addressed store, hash-verified

34}
35
36export function benchWithData<D>(params: BenchWithDataParams<D> & ThisType<{ data: D }>): Metabench<D> {
37 const bench = metabench(params.name);
38 // console.log(`Batch size: ${params.batch}`);
39
40 if (params.batch === null) {
41 const DATA = params.data();
42 for (const key in params.benchmarks) {
43 const _bench = params.benchmarks[key].bind({
44 data: DATA,
45 }) as any;
46 bench.add(key, _bench);
47 }
48 } else {
49 const DATA = Array.from({ length: params.batch || 1000 }, params.data);
50 for (const key in params.benchmarks) {
51 const _bench = params.benchmarks[key].bind({
52 data: DATA,
53 }) as any;
54 bench.add(key, () => {
55 for (const d of DATA) {
56 _bench(d);
57 }
58 });
59 }
60 }
61
62 return bench;
63}
64
65abstract class Metabench<D = any> {
66 abstract run(): void | Promise<void>;

Callers 1

safe.tsFile · 0.85

Calls 2

metabenchFunction · 0.85
addMethod · 0.80

Tested by

no test coverage detected