ruvector 0.2.22 → 0.2.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +9 -5
- package/dist/analysis/complexity.d.ts +0 -52
- package/dist/analysis/complexity.d.ts.map +0 -1
- package/dist/analysis/complexity.js +0 -146
- package/dist/analysis/index.d.ts +0 -15
- package/dist/analysis/index.d.ts.map +0 -1
- package/dist/analysis/index.js +0 -38
- package/dist/analysis/patterns.d.ts +0 -71
- package/dist/analysis/patterns.d.ts.map +0 -1
- package/dist/analysis/patterns.js +0 -243
- package/dist/analysis/security.d.ts +0 -51
- package/dist/analysis/security.d.ts.map +0 -1
- package/dist/analysis/security.js +0 -139
- package/dist/core/adaptive-embedder.d.ts +0 -156
- package/dist/core/adaptive-embedder.d.ts.map +0 -1
- package/dist/core/adaptive-embedder.js +0 -838
- package/dist/core/agentdb-fast.d.ts +0 -149
- package/dist/core/agentdb-fast.d.ts.map +0 -1
- package/dist/core/agentdb-fast.js +0 -301
- package/dist/core/ast-parser.d.ts +0 -108
- package/dist/core/ast-parser.d.ts.map +0 -1
- package/dist/core/ast-parser.js +0 -602
- package/dist/core/attention-fallbacks.d.ts +0 -321
- package/dist/core/attention-fallbacks.d.ts.map +0 -1
- package/dist/core/attention-fallbacks.js +0 -552
- package/dist/core/cluster-wrapper.d.ts +0 -148
- package/dist/core/cluster-wrapper.d.ts.map +0 -1
- package/dist/core/cluster-wrapper.js +0 -271
- package/dist/core/coverage-router.d.ts +0 -88
- package/dist/core/coverage-router.d.ts.map +0 -1
- package/dist/core/coverage-router.js +0 -315
- package/dist/core/diff-embeddings.d.ts +0 -93
- package/dist/core/diff-embeddings.d.ts.map +0 -1
- package/dist/core/diff-embeddings.js +0 -334
- package/dist/core/gnn-wrapper.d.ts +0 -143
- package/dist/core/gnn-wrapper.d.ts.map +0 -1
- package/dist/core/gnn-wrapper.js +0 -213
- package/dist/core/graph-algorithms.d.ts +0 -83
- package/dist/core/graph-algorithms.d.ts.map +0 -1
- package/dist/core/graph-algorithms.js +0 -514
- package/dist/core/graph-wrapper.d.ts +0 -147
- package/dist/core/graph-wrapper.d.ts.map +0 -1
- package/dist/core/graph-wrapper.js +0 -299
- package/dist/core/index.d.ts +0 -48
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -89
- package/dist/core/intelligence-engine.d.ts +0 -258
- package/dist/core/intelligence-engine.d.ts.map +0 -1
- package/dist/core/intelligence-engine.js +0 -1030
- package/dist/core/learning-engine.d.ts +0 -160
- package/dist/core/learning-engine.d.ts.map +0 -1
- package/dist/core/learning-engine.js +0 -589
- package/dist/core/neural-embeddings.d.ts +0 -393
- package/dist/core/neural-embeddings.d.ts.map +0 -1
- package/dist/core/neural-embeddings.js +0 -1091
- package/dist/core/neural-perf.d.ts +0 -331
- package/dist/core/neural-perf.d.ts.map +0 -1
- package/dist/core/neural-perf.js +0 -704
- package/dist/core/onnx/pkg/package.json +0 -3
- package/dist/core/onnx-embedder.d.ts +0 -105
- package/dist/core/onnx-embedder.d.ts.map +0 -1
- package/dist/core/onnx-embedder.js +0 -410
- package/dist/core/onnx-optimized.d.ts +0 -109
- package/dist/core/onnx-optimized.d.ts.map +0 -1
- package/dist/core/onnx-optimized.js +0 -419
- package/dist/core/parallel-intelligence.d.ts +0 -109
- package/dist/core/parallel-intelligence.d.ts.map +0 -1
- package/dist/core/parallel-intelligence.js +0 -340
- package/dist/core/parallel-workers.d.ts +0 -177
- package/dist/core/parallel-workers.d.ts.map +0 -1
- package/dist/core/parallel-workers.js +0 -671
- package/dist/core/router-wrapper.d.ts +0 -75
- package/dist/core/router-wrapper.d.ts.map +0 -1
- package/dist/core/router-wrapper.js +0 -243
- package/dist/core/rvf-wrapper.d.ts +0 -86
- package/dist/core/rvf-wrapper.d.ts.map +0 -1
- package/dist/core/rvf-wrapper.js +0 -102
- package/dist/core/sona-wrapper.d.ts +0 -226
- package/dist/core/sona-wrapper.d.ts.map +0 -1
- package/dist/core/sona-wrapper.js +0 -282
- package/dist/core/tensor-compress.d.ts +0 -134
- package/dist/core/tensor-compress.d.ts.map +0 -1
- package/dist/core/tensor-compress.js +0 -432
- package/dist/index.d.ts +0 -105
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -221
- package/dist/services/embedding-service.d.ts +0 -136
- package/dist/services/embedding-service.d.ts.map +0 -1
- package/dist/services/embedding-service.js +0 -294
- package/dist/services/index.d.ts +0 -6
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -26
- package/dist/types.d.ts +0 -145
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -2
- package/dist/workers/benchmark.d.ts +0 -44
- package/dist/workers/benchmark.d.ts.map +0 -1
- package/dist/workers/benchmark.js +0 -230
- package/dist/workers/index.d.ts +0 -10
- package/dist/workers/index.d.ts.map +0 -1
- package/dist/workers/index.js +0 -25
- package/dist/workers/native-worker.d.ts +0 -76
- package/dist/workers/native-worker.d.ts.map +0 -1
- package/dist/workers/native-worker.js +0 -490
- package/dist/workers/types.d.ts +0 -69
- package/dist/workers/types.d.ts.map +0 -1
- package/dist/workers/types.js +0 -7
package/dist/types.d.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vector entry representing a document with its embedding
|
|
3
|
-
*/
|
|
4
|
-
export interface VectorEntry {
|
|
5
|
-
/** Unique identifier for the vector */
|
|
6
|
-
id: string;
|
|
7
|
-
/** Vector embedding (array of floats) */
|
|
8
|
-
vector: number[];
|
|
9
|
-
/** Optional metadata associated with the vector */
|
|
10
|
-
metadata?: Record<string, any>;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Search query parameters
|
|
14
|
-
*/
|
|
15
|
-
export interface SearchQuery {
|
|
16
|
-
/** Query vector to search for */
|
|
17
|
-
vector: number[];
|
|
18
|
-
/** Number of results to return */
|
|
19
|
-
k?: number;
|
|
20
|
-
/** Optional metadata filters */
|
|
21
|
-
filter?: Record<string, any>;
|
|
22
|
-
/** Minimum similarity threshold (0-1) */
|
|
23
|
-
threshold?: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Search result containing matched vector and similarity score
|
|
27
|
-
*/
|
|
28
|
-
export interface SearchResult {
|
|
29
|
-
/** ID of the matched vector */
|
|
30
|
-
id: string;
|
|
31
|
-
/** Similarity score (0-1, higher is better) */
|
|
32
|
-
score: number;
|
|
33
|
-
/** Vector data */
|
|
34
|
-
vector: number[];
|
|
35
|
-
/** Associated metadata */
|
|
36
|
-
metadata?: Record<string, any>;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Database configuration options
|
|
40
|
-
*/
|
|
41
|
-
export interface DbOptions {
|
|
42
|
-
/** Vector dimension size */
|
|
43
|
-
dimension: number;
|
|
44
|
-
/** Distance metric to use */
|
|
45
|
-
metric?: 'cosine' | 'euclidean' | 'dot';
|
|
46
|
-
/** Path to persist database */
|
|
47
|
-
path?: string;
|
|
48
|
-
/** Enable auto-persistence */
|
|
49
|
-
autoPersist?: boolean;
|
|
50
|
-
/** HNSW index parameters */
|
|
51
|
-
hnsw?: {
|
|
52
|
-
/** Maximum number of connections per layer */
|
|
53
|
-
m?: number;
|
|
54
|
-
/** Size of the dynamic candidate list */
|
|
55
|
-
efConstruction?: number;
|
|
56
|
-
/** Size of the dynamic candidate list for search */
|
|
57
|
-
efSearch?: number;
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Database statistics
|
|
62
|
-
*/
|
|
63
|
-
export interface DbStats {
|
|
64
|
-
/** Total number of vectors */
|
|
65
|
-
count: number;
|
|
66
|
-
/** Vector dimension */
|
|
67
|
-
dimension: number;
|
|
68
|
-
/** Distance metric */
|
|
69
|
-
metric: string;
|
|
70
|
-
/** Memory usage in bytes */
|
|
71
|
-
memoryUsage?: number;
|
|
72
|
-
/** Index type */
|
|
73
|
-
indexType?: string;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Main VectorDB class interface
|
|
77
|
-
*/
|
|
78
|
-
export interface VectorDB {
|
|
79
|
-
/**
|
|
80
|
-
* Create a new vector database
|
|
81
|
-
* @param options Database configuration
|
|
82
|
-
*/
|
|
83
|
-
new (options: DbOptions): VectorDB;
|
|
84
|
-
/**
|
|
85
|
-
* Insert a single vector
|
|
86
|
-
* @param entry Vector entry to insert
|
|
87
|
-
*/
|
|
88
|
-
insert(entry: VectorEntry): void;
|
|
89
|
-
/**
|
|
90
|
-
* Insert multiple vectors in batch
|
|
91
|
-
* @param entries Array of vector entries
|
|
92
|
-
*/
|
|
93
|
-
insertBatch(entries: VectorEntry[]): void;
|
|
94
|
-
/**
|
|
95
|
-
* Search for similar vectors
|
|
96
|
-
* @param query Search query parameters
|
|
97
|
-
* @returns Array of search results
|
|
98
|
-
*/
|
|
99
|
-
search(query: SearchQuery): SearchResult[];
|
|
100
|
-
/**
|
|
101
|
-
* Get vector by ID
|
|
102
|
-
* @param id Vector ID
|
|
103
|
-
* @returns Vector entry or null
|
|
104
|
-
*/
|
|
105
|
-
get(id: string): VectorEntry | null;
|
|
106
|
-
/**
|
|
107
|
-
* Delete vector by ID
|
|
108
|
-
* @param id Vector ID
|
|
109
|
-
* @returns true if deleted, false if not found
|
|
110
|
-
*/
|
|
111
|
-
delete(id: string): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* Update vector metadata
|
|
114
|
-
* @param id Vector ID
|
|
115
|
-
* @param metadata New metadata
|
|
116
|
-
*/
|
|
117
|
-
updateMetadata(id: string, metadata: Record<string, any>): void;
|
|
118
|
-
/**
|
|
119
|
-
* Get database statistics
|
|
120
|
-
*/
|
|
121
|
-
stats(): DbStats;
|
|
122
|
-
/**
|
|
123
|
-
* Save database to disk
|
|
124
|
-
* @param path Optional path (uses configured path if not provided)
|
|
125
|
-
*/
|
|
126
|
-
save(path?: string): void;
|
|
127
|
-
/**
|
|
128
|
-
* Load database from disk
|
|
129
|
-
* @param path Path to database file
|
|
130
|
-
*/
|
|
131
|
-
load(path: string): void;
|
|
132
|
-
/**
|
|
133
|
-
* Clear all vectors from database
|
|
134
|
-
*/
|
|
135
|
-
clear(): void;
|
|
136
|
-
/**
|
|
137
|
-
* Build HNSW index for faster search
|
|
138
|
-
*/
|
|
139
|
-
buildIndex(): void;
|
|
140
|
-
/**
|
|
141
|
-
* Optimize database (rebuild indices, compact storage)
|
|
142
|
-
*/
|
|
143
|
-
optimize(): void;
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worker Benchmark Suite for RuVector
|
|
3
|
-
*
|
|
4
|
-
* Measures performance of:
|
|
5
|
-
* - ONNX embedding generation (single vs batch)
|
|
6
|
-
* - Vector storage and search
|
|
7
|
-
* - Phase execution times
|
|
8
|
-
* - Worker end-to-end throughput
|
|
9
|
-
*/
|
|
10
|
-
import { BenchmarkResult } from './types';
|
|
11
|
-
/**
|
|
12
|
-
* Benchmark ONNX embedding generation
|
|
13
|
-
*/
|
|
14
|
-
export declare function benchmarkEmbeddings(iterations?: number): Promise<BenchmarkResult[]>;
|
|
15
|
-
/**
|
|
16
|
-
* Benchmark worker execution
|
|
17
|
-
*/
|
|
18
|
-
export declare function benchmarkWorkers(targetPath?: string): Promise<BenchmarkResult[]>;
|
|
19
|
-
/**
|
|
20
|
-
* Benchmark individual phases
|
|
21
|
-
*/
|
|
22
|
-
export declare function benchmarkPhases(targetPath?: string): Promise<BenchmarkResult[]>;
|
|
23
|
-
/**
|
|
24
|
-
* Format benchmark results as table
|
|
25
|
-
*/
|
|
26
|
-
export declare function formatBenchmarkResults(results: BenchmarkResult[]): string;
|
|
27
|
-
/**
|
|
28
|
-
* Run full benchmark suite
|
|
29
|
-
*/
|
|
30
|
-
export declare function runFullBenchmark(targetPath?: string): Promise<{
|
|
31
|
-
embeddings: BenchmarkResult[];
|
|
32
|
-
phases: BenchmarkResult[];
|
|
33
|
-
workers: BenchmarkResult[];
|
|
34
|
-
summary: string;
|
|
35
|
-
}>;
|
|
36
|
-
declare const _default: {
|
|
37
|
-
benchmarkEmbeddings: typeof benchmarkEmbeddings;
|
|
38
|
-
benchmarkWorkers: typeof benchmarkWorkers;
|
|
39
|
-
benchmarkPhases: typeof benchmarkPhases;
|
|
40
|
-
runFullBenchmark: typeof runFullBenchmark;
|
|
41
|
-
formatBenchmarkResults: typeof formatBenchmarkResults;
|
|
42
|
-
};
|
|
43
|
-
export default _default;
|
|
44
|
-
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/workers/benchmark.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA4C1C;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAwE7F;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA4B3F;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAsD1F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,CAwBzE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC;IACxE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAyCD;;;;;;;;AAED,wBAME"}
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Worker Benchmark Suite for RuVector
|
|
4
|
-
*
|
|
5
|
-
* Measures performance of:
|
|
6
|
-
* - ONNX embedding generation (single vs batch)
|
|
7
|
-
* - Vector storage and search
|
|
8
|
-
* - Phase execution times
|
|
9
|
-
* - Worker end-to-end throughput
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.benchmarkEmbeddings = benchmarkEmbeddings;
|
|
13
|
-
exports.benchmarkWorkers = benchmarkWorkers;
|
|
14
|
-
exports.benchmarkPhases = benchmarkPhases;
|
|
15
|
-
exports.formatBenchmarkResults = formatBenchmarkResults;
|
|
16
|
-
exports.runFullBenchmark = runFullBenchmark;
|
|
17
|
-
const perf_hooks_1 = require("perf_hooks");
|
|
18
|
-
const native_worker_1 = require("./native-worker");
|
|
19
|
-
const onnx_embedder_1 = require("../core/onnx-embedder");
|
|
20
|
-
/**
|
|
21
|
-
* Run a benchmark function multiple times and collect stats
|
|
22
|
-
*/
|
|
23
|
-
async function runBenchmark(name, fn, iterations = 10, warmup = 2) {
|
|
24
|
-
// Warmup runs
|
|
25
|
-
for (let i = 0; i < warmup; i++) {
|
|
26
|
-
await fn();
|
|
27
|
-
}
|
|
28
|
-
// Actual benchmark runs
|
|
29
|
-
const times = [];
|
|
30
|
-
for (let i = 0; i < iterations; i++) {
|
|
31
|
-
const start = perf_hooks_1.performance.now();
|
|
32
|
-
await fn();
|
|
33
|
-
times.push(perf_hooks_1.performance.now() - start);
|
|
34
|
-
}
|
|
35
|
-
// Calculate statistics
|
|
36
|
-
times.sort((a, b) => a - b);
|
|
37
|
-
const sum = times.reduce((a, b) => a + b, 0);
|
|
38
|
-
return {
|
|
39
|
-
name,
|
|
40
|
-
iterations,
|
|
41
|
-
results: {
|
|
42
|
-
min: times[0],
|
|
43
|
-
max: times[times.length - 1],
|
|
44
|
-
avg: sum / times.length,
|
|
45
|
-
p50: times[Math.floor(times.length * 0.5)],
|
|
46
|
-
p95: times[Math.floor(times.length * 0.95)],
|
|
47
|
-
p99: times[Math.floor(times.length * 0.99)],
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Benchmark ONNX embedding generation
|
|
53
|
-
*/
|
|
54
|
-
async function benchmarkEmbeddings(iterations = 10) {
|
|
55
|
-
const results = [];
|
|
56
|
-
// Initialize embedder
|
|
57
|
-
await (0, onnx_embedder_1.initOnnxEmbedder)();
|
|
58
|
-
const stats = (0, onnx_embedder_1.getStats)();
|
|
59
|
-
console.log(`\n📊 ONNX Embedder: ${stats.dimension}d, SIMD: ${stats.simd}`);
|
|
60
|
-
// Single embedding benchmark
|
|
61
|
-
const singleResult = await runBenchmark('Single embedding (short text)', async () => {
|
|
62
|
-
await (0, onnx_embedder_1.embed)('This is a test sentence for embedding.');
|
|
63
|
-
}, iterations);
|
|
64
|
-
results.push(singleResult);
|
|
65
|
-
// Single embedding - long text
|
|
66
|
-
const longText = 'This is a much longer text that contains more content. '.repeat(20);
|
|
67
|
-
const singleLongResult = await runBenchmark('Single embedding (long text)', async () => {
|
|
68
|
-
await (0, onnx_embedder_1.embed)(longText);
|
|
69
|
-
}, iterations);
|
|
70
|
-
results.push(singleLongResult);
|
|
71
|
-
// Batch embedding - small batch
|
|
72
|
-
const smallBatch = Array(4).fill(0).map((_, i) => `Test sentence number ${i}`);
|
|
73
|
-
const batchSmallResult = await runBenchmark('Batch embedding (4 texts)', async () => {
|
|
74
|
-
await (0, onnx_embedder_1.embedBatch)(smallBatch);
|
|
75
|
-
}, iterations);
|
|
76
|
-
batchSmallResult.throughput = {
|
|
77
|
-
itemsPerSecond: (4 * 1000) / batchSmallResult.results.avg,
|
|
78
|
-
};
|
|
79
|
-
results.push(batchSmallResult);
|
|
80
|
-
// Batch embedding - medium batch
|
|
81
|
-
const mediumBatch = Array(16).fill(0).map((_, i) => `Test sentence number ${i} with some content`);
|
|
82
|
-
const batchMediumResult = await runBenchmark('Batch embedding (16 texts)', async () => {
|
|
83
|
-
await (0, onnx_embedder_1.embedBatch)(mediumBatch);
|
|
84
|
-
}, iterations);
|
|
85
|
-
batchMediumResult.throughput = {
|
|
86
|
-
itemsPerSecond: (16 * 1000) / batchMediumResult.results.avg,
|
|
87
|
-
};
|
|
88
|
-
results.push(batchMediumResult);
|
|
89
|
-
// Batch embedding - large batch
|
|
90
|
-
const largeBatch = Array(64).fill(0).map((_, i) => `Test sentence number ${i} with additional content here`);
|
|
91
|
-
const batchLargeResult = await runBenchmark('Batch embedding (64 texts)', async () => {
|
|
92
|
-
await (0, onnx_embedder_1.embedBatch)(largeBatch);
|
|
93
|
-
}, Math.min(iterations, 5) // Fewer iterations for large batches
|
|
94
|
-
);
|
|
95
|
-
batchLargeResult.throughput = {
|
|
96
|
-
itemsPerSecond: (64 * 1000) / batchLargeResult.results.avg,
|
|
97
|
-
};
|
|
98
|
-
results.push(batchLargeResult);
|
|
99
|
-
return results;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Benchmark worker execution
|
|
103
|
-
*/
|
|
104
|
-
async function benchmarkWorkers(targetPath = '.') {
|
|
105
|
-
const results = [];
|
|
106
|
-
// Security worker (no embeddings - fastest)
|
|
107
|
-
const securityWorker = (0, native_worker_1.createSecurityWorker)();
|
|
108
|
-
const securityResult = await runBenchmark('Security worker (no embeddings)', async () => {
|
|
109
|
-
await securityWorker.run(targetPath);
|
|
110
|
-
}, 5, 1);
|
|
111
|
-
results.push(securityResult);
|
|
112
|
-
// Analysis worker (with embeddings)
|
|
113
|
-
const analysisWorker = (0, native_worker_1.createAnalysisWorker)();
|
|
114
|
-
const analysisResult = await runBenchmark('Analysis worker (with embeddings)', async () => {
|
|
115
|
-
await analysisWorker.run(targetPath);
|
|
116
|
-
}, 3, 1);
|
|
117
|
-
results.push(analysisResult);
|
|
118
|
-
return results;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Benchmark individual phases
|
|
122
|
-
*/
|
|
123
|
-
async function benchmarkPhases(targetPath = '.') {
|
|
124
|
-
const results = [];
|
|
125
|
-
// File discovery phase only
|
|
126
|
-
const discoveryWorker = new native_worker_1.NativeWorker({
|
|
127
|
-
name: 'discovery-only',
|
|
128
|
-
phases: [{ type: 'file-discovery' }],
|
|
129
|
-
capabilities: {},
|
|
130
|
-
});
|
|
131
|
-
const discoveryResult = await runBenchmark('Phase: file-discovery', async () => {
|
|
132
|
-
await discoveryWorker.run(targetPath);
|
|
133
|
-
}, 10);
|
|
134
|
-
results.push(discoveryResult);
|
|
135
|
-
// Pattern extraction phase
|
|
136
|
-
const patternWorker = new native_worker_1.NativeWorker({
|
|
137
|
-
name: 'pattern-only',
|
|
138
|
-
phases: [{ type: 'file-discovery' }, { type: 'pattern-extraction' }],
|
|
139
|
-
capabilities: {},
|
|
140
|
-
});
|
|
141
|
-
const patternResult = await runBenchmark('Phase: pattern-extraction', async () => {
|
|
142
|
-
await patternWorker.run(targetPath);
|
|
143
|
-
}, 5);
|
|
144
|
-
results.push(patternResult);
|
|
145
|
-
// Embedding generation phase
|
|
146
|
-
const embeddingWorker = new native_worker_1.NativeWorker({
|
|
147
|
-
name: 'embedding-only',
|
|
148
|
-
phases: [
|
|
149
|
-
{ type: 'file-discovery', config: { patterns: ['**/*.ts'], exclude: ['**/node_modules/**'] } },
|
|
150
|
-
{ type: 'pattern-extraction' },
|
|
151
|
-
{ type: 'embedding-generation' },
|
|
152
|
-
],
|
|
153
|
-
capabilities: { onnxEmbeddings: true },
|
|
154
|
-
});
|
|
155
|
-
const embeddingResult = await runBenchmark('Phase: embedding-generation', async () => {
|
|
156
|
-
await embeddingWorker.run(targetPath);
|
|
157
|
-
}, 3, 1);
|
|
158
|
-
results.push(embeddingResult);
|
|
159
|
-
return results;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Format benchmark results as table
|
|
163
|
-
*/
|
|
164
|
-
function formatBenchmarkResults(results) {
|
|
165
|
-
const lines = [];
|
|
166
|
-
lines.push('');
|
|
167
|
-
lines.push('┌─────────────────────────────────────┬──────────┬──────────┬──────────┬──────────┬──────────────┐');
|
|
168
|
-
lines.push('│ Benchmark │ Min (ms) │ Avg (ms) │ P95 (ms) │ Max (ms) │ Throughput │');
|
|
169
|
-
lines.push('├─────────────────────────────────────┼──────────┼──────────┼──────────┼──────────┼──────────────┤');
|
|
170
|
-
for (const result of results) {
|
|
171
|
-
const name = result.name.padEnd(35).slice(0, 35);
|
|
172
|
-
const min = result.results.min.toFixed(1).padStart(8);
|
|
173
|
-
const avg = result.results.avg.toFixed(1).padStart(8);
|
|
174
|
-
const p95 = result.results.p95.toFixed(1).padStart(8);
|
|
175
|
-
const max = result.results.max.toFixed(1).padStart(8);
|
|
176
|
-
const throughput = result.throughput
|
|
177
|
-
? `${result.throughput.itemsPerSecond.toFixed(1)}/s`.padStart(12)
|
|
178
|
-
: ' -';
|
|
179
|
-
lines.push(`│ ${name} │ ${min} │ ${avg} │ ${p95} │ ${max} │ ${throughput} │`);
|
|
180
|
-
}
|
|
181
|
-
lines.push('└─────────────────────────────────────┴──────────┴──────────┴──────────┴──────────┴──────────────┘');
|
|
182
|
-
lines.push('');
|
|
183
|
-
return lines.join('\n');
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Run full benchmark suite
|
|
187
|
-
*/
|
|
188
|
-
async function runFullBenchmark(targetPath = '.') {
|
|
189
|
-
console.log('🚀 RuVector Native Worker Benchmark Suite\n');
|
|
190
|
-
console.log('='.repeat(60));
|
|
191
|
-
// Embeddings benchmark
|
|
192
|
-
console.log('\n📊 Benchmarking ONNX Embeddings...');
|
|
193
|
-
const embeddings = await benchmarkEmbeddings(10);
|
|
194
|
-
console.log(formatBenchmarkResults(embeddings));
|
|
195
|
-
// Phases benchmark
|
|
196
|
-
console.log('\n⚡ Benchmarking Individual Phases...');
|
|
197
|
-
const phases = await benchmarkPhases(targetPath);
|
|
198
|
-
console.log(formatBenchmarkResults(phases));
|
|
199
|
-
// Workers benchmark
|
|
200
|
-
console.log('\n🔧 Benchmarking Full Workers...');
|
|
201
|
-
const workers = await benchmarkWorkers(targetPath);
|
|
202
|
-
console.log(formatBenchmarkResults(workers));
|
|
203
|
-
// Summary
|
|
204
|
-
const stats = (0, onnx_embedder_1.getStats)();
|
|
205
|
-
const summary = `
|
|
206
|
-
RuVector Native Worker Benchmark Summary
|
|
207
|
-
========================================
|
|
208
|
-
ONNX Model: all-MiniLM-L6-v2 (${stats.dimension}d)
|
|
209
|
-
SIMD: ${stats.simd ? 'Enabled ✓' : 'Disabled'}
|
|
210
|
-
Parallel Workers: ${stats.parallel ? `${stats.parallelWorkers} workers` : 'Disabled'}
|
|
211
|
-
|
|
212
|
-
Embedding Performance:
|
|
213
|
-
Single: ${embeddings[0].results.avg.toFixed(1)}ms avg
|
|
214
|
-
Batch (16): ${embeddings[3].results.avg.toFixed(1)}ms avg (${embeddings[3].throughput?.itemsPerSecond.toFixed(0)}/s)
|
|
215
|
-
Batch (64): ${embeddings[4].results.avg.toFixed(1)}ms avg (${embeddings[4].throughput?.itemsPerSecond.toFixed(0)}/s)
|
|
216
|
-
|
|
217
|
-
Worker Performance:
|
|
218
|
-
Security scan: ${workers[0].results.avg.toFixed(0)}ms avg
|
|
219
|
-
Full analysis: ${workers[1].results.avg.toFixed(0)}ms avg
|
|
220
|
-
`;
|
|
221
|
-
console.log(summary);
|
|
222
|
-
return { embeddings, phases, workers, summary };
|
|
223
|
-
}
|
|
224
|
-
exports.default = {
|
|
225
|
-
benchmarkEmbeddings,
|
|
226
|
-
benchmarkWorkers,
|
|
227
|
-
benchmarkPhases,
|
|
228
|
-
runFullBenchmark,
|
|
229
|
-
formatBenchmarkResults,
|
|
230
|
-
};
|
package/dist/workers/index.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuVector Native Workers
|
|
3
|
-
*
|
|
4
|
-
* Deep integration with ONNX embeddings, VectorDB, and intelligence engine.
|
|
5
|
-
* No external dependencies - pure ruvector execution.
|
|
6
|
-
*/
|
|
7
|
-
export * from './types';
|
|
8
|
-
export * from './native-worker';
|
|
9
|
-
export * from './benchmark';
|
|
10
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
|
package/dist/workers/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* RuVector Native Workers
|
|
4
|
-
*
|
|
5
|
-
* Deep integration with ONNX embeddings, VectorDB, and intelligence engine.
|
|
6
|
-
* No external dependencies - pure ruvector execution.
|
|
7
|
-
*/
|
|
8
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
-
if (k2 === undefined) k2 = k;
|
|
10
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
-
}
|
|
14
|
-
Object.defineProperty(o, k2, desc);
|
|
15
|
-
}) : (function(o, m, k, k2) {
|
|
16
|
-
if (k2 === undefined) k2 = k;
|
|
17
|
-
o[k2] = m[k];
|
|
18
|
-
}));
|
|
19
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
-
};
|
|
22
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
__exportStar(require("./types"), exports);
|
|
24
|
-
__exportStar(require("./native-worker"), exports);
|
|
25
|
-
__exportStar(require("./benchmark"), exports);
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Native Worker Runner for RuVector
|
|
3
|
-
*
|
|
4
|
-
* Direct integration with:
|
|
5
|
-
* - ONNX embedder (384d, SIMD-accelerated)
|
|
6
|
-
* - VectorDB (HNSW indexing)
|
|
7
|
-
* - Intelligence engine (Q-learning, memory)
|
|
8
|
-
*
|
|
9
|
-
* No delegation to external tools - pure ruvector execution.
|
|
10
|
-
*/
|
|
11
|
-
import { WorkerConfig, WorkerResult } from './types';
|
|
12
|
-
/**
|
|
13
|
-
* Native Worker Runner
|
|
14
|
-
*/
|
|
15
|
-
export declare class NativeWorker {
|
|
16
|
-
private config;
|
|
17
|
-
private vectorDb;
|
|
18
|
-
private findings;
|
|
19
|
-
private stats;
|
|
20
|
-
constructor(config: WorkerConfig);
|
|
21
|
-
/**
|
|
22
|
-
* Initialize worker with capabilities
|
|
23
|
-
*/
|
|
24
|
-
init(): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Run all phases in sequence
|
|
27
|
-
*/
|
|
28
|
-
run(targetPath?: string): Promise<WorkerResult>;
|
|
29
|
-
/**
|
|
30
|
-
* Execute a single phase
|
|
31
|
-
*/
|
|
32
|
-
private executePhase;
|
|
33
|
-
/**
|
|
34
|
-
* Phase: File Discovery
|
|
35
|
-
*/
|
|
36
|
-
private phaseFileDiscovery;
|
|
37
|
-
/**
|
|
38
|
-
* Phase: Pattern Extraction (uses shared analysis module)
|
|
39
|
-
*/
|
|
40
|
-
private phasePatternExtraction;
|
|
41
|
-
/**
|
|
42
|
-
* Phase: Embedding Generation (ONNX)
|
|
43
|
-
*/
|
|
44
|
-
private phaseEmbeddingGeneration;
|
|
45
|
-
/**
|
|
46
|
-
* Phase: Vector Storage
|
|
47
|
-
*/
|
|
48
|
-
private phaseVectorStorage;
|
|
49
|
-
/**
|
|
50
|
-
* Phase: Similarity Search
|
|
51
|
-
*/
|
|
52
|
-
private phaseSimilaritySearch;
|
|
53
|
-
/**
|
|
54
|
-
* Phase: Security Scan (uses shared analysis module)
|
|
55
|
-
*/
|
|
56
|
-
private phaseSecurityScan;
|
|
57
|
-
/**
|
|
58
|
-
* Phase: Complexity Analysis (uses shared analysis module)
|
|
59
|
-
*/
|
|
60
|
-
private phaseComplexityAnalysis;
|
|
61
|
-
/**
|
|
62
|
-
* Phase: Summarization
|
|
63
|
-
*/
|
|
64
|
-
private phaseSummarization;
|
|
65
|
-
/**
|
|
66
|
-
* Summarize phase data for results
|
|
67
|
-
*/
|
|
68
|
-
private summarizePhaseData;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Quick worker factory functions
|
|
72
|
-
*/
|
|
73
|
-
export declare function createSecurityWorker(name?: string): NativeWorker;
|
|
74
|
-
export declare function createAnalysisWorker(name?: string): NativeWorker;
|
|
75
|
-
export declare function createLearningWorker(name?: string): NativeWorker;
|
|
76
|
-
//# sourceMappingURL=native-worker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"native-worker.d.ts","sourceRoot":"","sources":["../../src/workers/native-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkDH,OAAO,EACL,YAAY,EACZ,YAAY,EAKb,MAAM,SAAS,CAAC;AA0BjB;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAKX;gBAEU,MAAM,EAAE,YAAY;IAIhC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;OAEG;IACG,GAAG,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAiD1D;;OAEG;YACW,YAAY;IAmC1B;;OAEG;YACW,kBAAkB;IAsBhC;;OAEG;YACW,sBAAsB;IAoCpC;;OAEG;YACW,wBAAwB;IAgDtC;;OAEG;YACW,kBAAkB;IA8BhC;;OAEG;YACW,qBAAqB;IAoBnC;;OAEG;YACW,iBAAiB;IAuB/B;;OAEG;YACW,uBAAuB;IA0BrC;;OAEG;YACW,kBAAkB;IAqBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAsB3B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,SAAqB,GAAG,YAAY,CAW5E;AAED,wBAAgB,oBAAoB,CAAC,IAAI,SAAkB,GAAG,YAAY,CAczE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,SAAoB,GAAG,YAAY,CAa3E"}
|