/** * SMI-632: IndexBenchmark - Indexing throughput benchmarks * * Features: * - Batch insert performance * - Update performance * - Database size impact * - FTS5 index maintenance */ import { type BenchmarkReport, type BenchmarkConfig } from './BenchmarkRunner.js'; /** * Index benchmark configuration */ export interface IndexBenchmarkConfig extends BenchmarkConfig { /** Batch size for insert operations */ batchSize?: number; /** Number of skills for size impact tests */ baseDatabaseSize?: number; } /** * Performance targets for indexing operations */ export declare const INDEX_TARGETS: { /** Skills indexed per second for batch inserts */ throughput_skills_per_sec: number; /** Maximum time for single insert (ms) */ single_insert_max_ms: number; /** Maximum time for batch of 100 inserts (ms) */ batch_100_max_ms: number; }; /** * Indexing benchmark suite */ export declare class IndexBenchmark { private config; private db; private repo; private skillCounter; constructor(config?: IndexBenchmarkConfig); /** * Run all indexing benchmarks */ run(): Promise; /** * Run throughput benchmark (measures skills per second) */ runThroughput(): Promise; /** * Run database size impact benchmark */ runSizeImpact(): Promise; /** * Setup database */ private setup; /** * Cleanup database resources */ private teardown; /** * Generate a batch of test skills */ private generateBatchSkills; } /** * Throughput benchmark result */ export interface ThroughputResult { timestamp: string; results: Record; } /** * Size impact benchmark result */ export interface SizeImpactResult { timestamp: string; results: Record; } /** * Validate indexing benchmark results against targets */ export declare function validateIndexResults(report: BenchmarkReport): IndexValidationResult; /** * Index validation result */ export interface IndexValidationResult { passed: boolean; failures: string[]; warnings: string[]; } //# sourceMappingURL=IndexBenchmark.d.ts.map