initial commit
This commit is contained in:
22
benchmarks/helpers/data-generators.ts
Normal file
22
benchmarks/helpers/data-generators.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
export const SIZES = [100, 10_000] as const;
|
||||
|
||||
export function generateNumbers(size: number): number[] {
|
||||
return Array.from({ length: size }, (_, i) => i);
|
||||
}
|
||||
|
||||
export function generateStrings(size: number): string[] {
|
||||
return Array.from({ length: size }, (_, i) => `item-${i}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Generates indices that should be "error" slots, deterministically distributed.
|
||||
* With errRatio=0.2 and size=10, returns indices [4, 9] (every 5th element).
|
||||
*/
|
||||
export function errorIndices(size: number, errRatio = 0.2): Set<number> {
|
||||
const step = Math.max(1, Math.floor(1 / errRatio));
|
||||
const indices = new Set<number>();
|
||||
for (let i = step - 1; i < size; i += step) {
|
||||
indices.add(i);
|
||||
}
|
||||
return indices;
|
||||
}
|
||||
Reference in New Issue
Block a user