semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
45 lines • 1.64 kB
TypeScript
import { ColumnData } from '../types/anchor.types';
interface PerformanceMetrics {
operation: string;
duration: number;
throughput?: number;
memoryUsage: NodeJS.MemoryUsage;
timestamp: number;
metadata?: Record<string, any>;
}
export declare class PerformanceProfiler {
private metrics;
private activeOperations;
private simdOps;
constructor();
private initializeSimdOperations;
private mixHash64;
private rotateLeft64;
startOperation(operationId: string, metadata?: Record<string, any>): void;
endOperation(operationId: string, rowsProcessed?: number): PerformanceMetrics;
profileColumnProcessing(column: ColumnData, operation: string): PerformanceMetrics;
profileBatchOperation(columns: ColumnData[], operation: string): PerformanceMetrics;
private columnToBuffer;
benchmarkThroughput(operation: () => void, iterations?: number): {
avgDuration: number;
throughput: number;
memoryDelta: number;
};
getMetrics(): PerformanceMetrics[];
getMetricsByOperation(operation: string): PerformanceMetrics[];
getThroughputStats(): {
avgThroughput: number;
maxThroughput: number;
p95Throughput: number;
};
clearMetrics(): void;
get hashFunction(): (data: ArrayBuffer) => bigint;
get vectorOps(): {
sum: (values: Float64Array) => number;
dot: (a: Float64Array, b: Float64Array) => number;
distance: (a: Float64Array, b: Float64Array) => number;
};
}
export declare const globalProfiler: PerformanceProfiler;
export {};
//# sourceMappingURL=performance-profiler.d.ts.map