UNPKG

semantic-ds-toolkit

Version:

Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference

105 lines 3.28 kB
import { ColumnData } from '../types/anchor.types'; export interface OptimizedBatchOptions { batchSize: number; maxWorkers: number; useSharedMemory: boolean; enableSIMD: boolean; objectPooling: boolean; streamingMode: boolean; memoryLimit: number; } export interface ProcessingResult { data: any[]; throughput: number; latency: number; memoryEfficiency: number; cpuUtilization?: number; } export interface SharedBufferMetadata { length: number; type: 'Float32Array' | 'Float64Array' | 'Uint8Array'; offset: number; byteLength: number; } export declare class ObjectPool<T> { private pool; private factory; private reset; private maxSize; constructor(factory: () => T, reset: (obj: T) => void, maxSize?: number); acquire(): T; release(obj: T): void; getSize(): number; } export declare class RingBuffer { private buffer; private writePtr; private readPtr; private size; private view; constructor(size: number); write(data: Uint8Array): boolean; read(length: number): Uint8Array | null; available(): number; used(): number; getBuffer(): SharedArrayBuffer; } export declare class SIMDOperations { static processColumnsSIMD(data: Float32Array, results: Float32Array): void; static xxHash32(input: number): number; static vectorSum(values: Float64Array): number; static vectorDot(a: Float64Array, b: Float64Array): number; static vectorDistance(a: Float64Array, b: Float64Array): number; } export declare class WorkerPool { private workers; private availableWorkers; private jobQueue; private workerScript; constructor(size?: number); private generateWorkerScript; private initializeWorkers; private handleWorkerMessage; private handleWorkerError; process(data: ArrayBuffer | SharedArrayBuffer, metadata: SharedBufferMetadata): Promise<any>; private processNextJob; destroy(): void; } export declare class OptimizedBatchProcessorV2 { private options; private workerPool; private columnPool; private resultPool; private ringBuffer; private processingStats; constructor(options: OptimizedBatchOptions); processColumns(columns: ColumnData[], processor: (column: ColumnData) => any): Promise<ProcessingResult>; private processStandardBatch; private processWithWorkers; private processStreamingBatch; private processBatchChunk; private processBatchSIMD; private optimizeColumnForProcessing; private createBatches; private createDataStream; private updateStats; private simpleHash; benchmark(testData: ColumnData[], processor: (column: ColumnData) => any, iterations?: number): Promise<{ averageThroughput: number; peakThroughput: number; averageLatency: number; memoryEfficiency: number; p50Latency: number; p99Latency: number; }>; getStats(): { totalRows: number; totalTime: number; peakThroughput: number; averageThroughput: number; memoryUsage: number; }; cleanup(): void; } export declare const optimizedBatchProcessor: OptimizedBatchProcessorV2; //# sourceMappingURL=batch-processor-v2.d.ts.map