@codai/memorai-core
Version:
Simplified advanced memory engine - no tiers, just powerful semantic search with persistence
107 lines • 3.23 kB
TypeScript
/**
* Enterprise-Grade Performance Optimizer for MemorAI
* World-class optimization system for production-ready performance
*/
export interface PerformanceConfig {
maxQueryTime: number;
batchSize: number;
cacheEnabled: boolean;
cacheSize: number;
cacheTTL: number;
memoryLimit: number;
gcThreshold: number;
compactionInterval: number;
connectionPoolSize: number;
connectionTimeout: number;
maxRetries: number;
retryDelay: number;
vectorIndexType: 'hnsw' | 'ivf' | 'brute_force';
hnswM: number;
hnswEfConstruct: number;
quantizationEnabled: boolean;
compressionEnabled: boolean;
}
export interface PerformanceMetrics {
queryTime: number;
memoryUsage: number;
cacheHitRate: number;
throughput: number;
errorRate: number;
connectionCount: number;
vectorIndexSize: number;
timestamp: Date;
}
export declare class PerformanceOptimizer {
private config;
private metrics;
private queryCache;
private lastGC;
private lastCompaction;
constructor(config?: Partial<PerformanceConfig>);
/**
* Optimize query performance with caching and batch processing
*/
optimizeQuery<T>(queryKey: string, queryFn: () => Promise<T>, options?: {
useCache?: boolean;
timeout?: number;
}): Promise<T>;
/**
* Batch operations for improved throughput
*/
batchProcess<T, R>(items: T[], processor: (batch: T[]) => Promise<R[]>, batchSize?: number): Promise<R[]>;
/**
* Memory management and garbage collection
*/
performMemoryOptimization(): Promise<void>;
/**
* Get optimized configuration for Qdrant
*/
getQdrantOptimization(): {
collection_config: {
vectors: {
size: number;
distance: string;
};
optimizers_config: {
default_segment_number: number;
max_segment_size: number;
memmap_threshold: number;
indexing_threshold: number;
flush_interval_sec: number;
max_optimization_threads: number;
};
hnsw_config: {
m: number;
ef_construct: number;
full_scan_threshold: number;
max_indexing_threads: number;
on_disk: boolean;
};
quantization_config: {
scalar: {
type: string;
quantile: number;
always_ram: boolean;
};
} | undefined;
};
};
/**
* Get real-time performance metrics
*/
getPerformanceMetrics(): PerformanceMetrics;
/**
* Generate performance optimization recommendations
*/
generateOptimizationRecommendations(): string[];
private createTimeoutPromise;
private createBatches;
private clearExpiredCache;
private performCompaction;
private cleanupMetrics;
private recordMetric;
private calculateThroughput;
private calculateErrorRate;
}
export declare const performanceOptimizer: PerformanceOptimizer;
//# sourceMappingURL=PerformanceOptimizer.d.ts.map