terra-draw
Version:
Frictionless map drawing across mapping provider
34 lines (33 loc) • 1.19 kB
TypeScript
import { FeatureId } from "../extend";
import { GeoJSONStoreFeatures, TerraDraw } from "../terra-draw";
import { Bench } from "tinybench";
type BenchmarkResult = {
name: string;
opsPerSecond: number;
averageTimeMs: number;
};
export declare const createPointFeatures: (n: number) => GeoJSONStoreFeatures[];
export declare const createDraw: () => TerraDraw;
type BenchmarkProps = {
draw: TerraDraw;
features: GeoJSONStoreFeatures[];
featureIds: FeatureId[];
randomFeatureId: FeatureId;
};
export type BenchmarkTask = {
name: string;
beforeEach: (benchmarkProps: BenchmarkProps) => void;
task: (benchmarkProps: BenchmarkProps) => void;
featureCount?: number;
loopCount?: number;
enabled?: boolean;
};
export declare const createBenchmark: (benmarkName: string, tasks: BenchmarkTask[]) => Bench;
export declare const processBenchmarks: (bench: Bench, benchmarkTasks: BenchmarkTask[]) => BenchmarkResult[];
export declare function writeBenchmarkSummary(results: BenchmarkResult[]): void;
export declare const logBenchmarkResults: (results: {
name: string;
opsPerSecond: number;
averageTimeMs: number;
}[]) => void;
export {};