@sparkleideas/performance 3.0.0-alpha.20 → 3.0.0-alpha.29
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/dist/attention-benchmarks.d.ts +122 -0
- package/dist/attention-benchmarks.d.ts.map +1 -0
- package/dist/attention-benchmarks.js +322 -0
- package/dist/attention-benchmarks.js.map +1 -0
- package/dist/attention-integration.d.ts +133 -0
- package/dist/attention-integration.d.ts.map +1 -0
- package/dist/attention-integration.js +366 -0
- package/dist/attention-integration.js.map +1 -0
- package/dist/examples/flash-attention-demo.d.ts +13 -0
- package/dist/examples/flash-attention-demo.d.ts.map +1 -0
- package/dist/examples/flash-attention-demo.js +113 -0
- package/dist/examples/flash-attention-demo.js.map +1 -0
- package/dist/examples/quick-test.d.ts +9 -0
- package/dist/examples/quick-test.d.ts.map +1 -0
- package/dist/examples/quick-test.js +53 -0
- package/dist/examples/quick-test.js.map +1 -0
- package/dist/framework/benchmark.d.ts +192 -0
- package/dist/framework/benchmark.d.ts.map +1 -0
- package/dist/framework/benchmark.js +408 -0
- package/dist/framework/benchmark.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/package.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Performance Benchmark Framework
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive benchmarking system with statistical analysis,
|
|
5
|
+
* memory tracking, and regression detection capabilities.
|
|
6
|
+
*
|
|
7
|
+
* Target Performance Metrics:
|
|
8
|
+
* - CLI Startup: <500ms (5x faster)
|
|
9
|
+
* - MCP Init: <400ms (4.5x faster)
|
|
10
|
+
* - Agent Spawn: <200ms (4x faster)
|
|
11
|
+
* - Vector Search: <1ms (150x faster)
|
|
12
|
+
* - Memory Write: <5ms (10x faster)
|
|
13
|
+
* - Swarm Consensus: <100ms (5x faster)
|
|
14
|
+
* - Flash Attention: 2.49x-7.47x speedup
|
|
15
|
+
* - Memory Usage: <256MB (50% reduction)
|
|
16
|
+
*/
|
|
17
|
+
export interface MemoryUsage {
|
|
18
|
+
heapUsed: number;
|
|
19
|
+
heapTotal: number;
|
|
20
|
+
external: number;
|
|
21
|
+
arrayBuffers: number;
|
|
22
|
+
rss: number;
|
|
23
|
+
}
|
|
24
|
+
export interface BenchmarkResult {
|
|
25
|
+
name: string;
|
|
26
|
+
iterations: number;
|
|
27
|
+
mean: number;
|
|
28
|
+
median: number;
|
|
29
|
+
p95: number;
|
|
30
|
+
p99: number;
|
|
31
|
+
min: number;
|
|
32
|
+
max: number;
|
|
33
|
+
stdDev: number;
|
|
34
|
+
opsPerSecond: number;
|
|
35
|
+
memoryUsage: MemoryUsage;
|
|
36
|
+
memoryDelta: number;
|
|
37
|
+
timestamp: number;
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
export interface BenchmarkOptions {
|
|
41
|
+
/** Number of iterations (default: 100) */
|
|
42
|
+
iterations?: number;
|
|
43
|
+
/** Number of warmup iterations (default: 10) */
|
|
44
|
+
warmup?: number;
|
|
45
|
+
/** Timeout per iteration in ms (default: 30000) */
|
|
46
|
+
timeout?: number;
|
|
47
|
+
/** Force garbage collection between iterations */
|
|
48
|
+
forceGC?: boolean;
|
|
49
|
+
/** Custom metadata to attach to results */
|
|
50
|
+
metadata?: Record<string, unknown>;
|
|
51
|
+
/** Minimum number of runs to ensure statistical significance */
|
|
52
|
+
minRuns?: number;
|
|
53
|
+
/** Target time in ms for auto-calibration */
|
|
54
|
+
targetTime?: number;
|
|
55
|
+
}
|
|
56
|
+
export interface BenchmarkSuite {
|
|
57
|
+
name: string;
|
|
58
|
+
benchmarks: BenchmarkResult[];
|
|
59
|
+
totalTime: number;
|
|
60
|
+
timestamp: number;
|
|
61
|
+
environment: EnvironmentInfo;
|
|
62
|
+
}
|
|
63
|
+
export interface EnvironmentInfo {
|
|
64
|
+
nodeVersion: string;
|
|
65
|
+
platform: string;
|
|
66
|
+
arch: string;
|
|
67
|
+
cpus: number;
|
|
68
|
+
memory: number;
|
|
69
|
+
v8Version?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface ComparisonResult {
|
|
72
|
+
benchmark: string;
|
|
73
|
+
baseline: number;
|
|
74
|
+
current: number;
|
|
75
|
+
change: number;
|
|
76
|
+
changePercent: number;
|
|
77
|
+
improved: boolean;
|
|
78
|
+
significant: boolean;
|
|
79
|
+
target?: number;
|
|
80
|
+
targetMet: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Format bytes to human-readable string
|
|
84
|
+
*/
|
|
85
|
+
export declare function formatBytes(bytes: number): string;
|
|
86
|
+
/**
|
|
87
|
+
* Format time in milliseconds to human-readable string
|
|
88
|
+
*/
|
|
89
|
+
export declare function formatTime(ms: number): string;
|
|
90
|
+
/**
|
|
91
|
+
* Execute a benchmark with comprehensive statistics
|
|
92
|
+
*/
|
|
93
|
+
export declare function benchmark(name: string, fn: () => Promise<void> | void, options?: BenchmarkOptions): Promise<BenchmarkResult>;
|
|
94
|
+
export declare class BenchmarkRunner {
|
|
95
|
+
private results;
|
|
96
|
+
private suiteName;
|
|
97
|
+
constructor(name: string);
|
|
98
|
+
/**
|
|
99
|
+
* Run a single benchmark and add to results
|
|
100
|
+
*/
|
|
101
|
+
run(name: string, fn: () => Promise<void> | void, options?: BenchmarkOptions): Promise<BenchmarkResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Run multiple benchmarks in sequence
|
|
104
|
+
*/
|
|
105
|
+
runAll(benchmarks: Array<{
|
|
106
|
+
name: string;
|
|
107
|
+
fn: () => Promise<void> | void;
|
|
108
|
+
options?: BenchmarkOptions;
|
|
109
|
+
}>): Promise<BenchmarkSuite>;
|
|
110
|
+
/**
|
|
111
|
+
* Get environment information
|
|
112
|
+
*/
|
|
113
|
+
private getEnvironmentInfo;
|
|
114
|
+
/**
|
|
115
|
+
* Get all results
|
|
116
|
+
*/
|
|
117
|
+
getResults(): BenchmarkResult[];
|
|
118
|
+
/**
|
|
119
|
+
* Clear all results
|
|
120
|
+
*/
|
|
121
|
+
clear(): void;
|
|
122
|
+
/**
|
|
123
|
+
* Print formatted results to console
|
|
124
|
+
*/
|
|
125
|
+
printResults(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Export results as JSON
|
|
128
|
+
*/
|
|
129
|
+
toJSON(): string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Compare benchmark results against baseline
|
|
133
|
+
*/
|
|
134
|
+
export declare function compareResults(baseline: BenchmarkResult[], current: BenchmarkResult[], targets?: Record<string, number>): ComparisonResult[];
|
|
135
|
+
/**
|
|
136
|
+
* Print comparison report
|
|
137
|
+
*/
|
|
138
|
+
export declare function printComparisonReport(comparisons: ComparisonResult[]): void;
|
|
139
|
+
export declare const V3_PERFORMANCE_TARGETS: {
|
|
140
|
+
readonly 'cli-cold-start': 500;
|
|
141
|
+
readonly 'cli-warm-start': 100;
|
|
142
|
+
readonly 'mcp-server-init': 400;
|
|
143
|
+
readonly 'agent-spawn': 200;
|
|
144
|
+
readonly 'vector-search': 1;
|
|
145
|
+
readonly 'hnsw-indexing': 10;
|
|
146
|
+
readonly 'memory-write': 5;
|
|
147
|
+
readonly 'cache-hit': 0.1;
|
|
148
|
+
readonly 'agent-coordination': 50;
|
|
149
|
+
readonly 'task-decomposition': 20;
|
|
150
|
+
readonly 'consensus-latency': 100;
|
|
151
|
+
readonly 'message-throughput': 0.1;
|
|
152
|
+
readonly 'flash-attention': 100;
|
|
153
|
+
readonly 'multi-head-attention': 200;
|
|
154
|
+
readonly 'sona-adaptation': 0.05;
|
|
155
|
+
};
|
|
156
|
+
export type PerformanceTarget = keyof typeof V3_PERFORMANCE_TARGETS;
|
|
157
|
+
/**
|
|
158
|
+
* Check if a benchmark meets its target
|
|
159
|
+
*/
|
|
160
|
+
export declare function meetsTarget(benchmarkName: string, value: number): {
|
|
161
|
+
met: boolean;
|
|
162
|
+
target: number | undefined;
|
|
163
|
+
ratio: number | undefined;
|
|
164
|
+
};
|
|
165
|
+
declare const _default: {
|
|
166
|
+
benchmark: typeof benchmark;
|
|
167
|
+
BenchmarkRunner: typeof BenchmarkRunner;
|
|
168
|
+
compareResults: typeof compareResults;
|
|
169
|
+
printComparisonReport: typeof printComparisonReport;
|
|
170
|
+
formatBytes: typeof formatBytes;
|
|
171
|
+
formatTime: typeof formatTime;
|
|
172
|
+
meetsTarget: typeof meetsTarget;
|
|
173
|
+
V3_PERFORMANCE_TARGETS: {
|
|
174
|
+
readonly 'cli-cold-start': 500;
|
|
175
|
+
readonly 'cli-warm-start': 100;
|
|
176
|
+
readonly 'mcp-server-init': 400;
|
|
177
|
+
readonly 'agent-spawn': 200;
|
|
178
|
+
readonly 'vector-search': 1;
|
|
179
|
+
readonly 'hnsw-indexing': 10;
|
|
180
|
+
readonly 'memory-write': 5;
|
|
181
|
+
readonly 'cache-hit': 0.1;
|
|
182
|
+
readonly 'agent-coordination': 50;
|
|
183
|
+
readonly 'task-decomposition': 20;
|
|
184
|
+
readonly 'consensus-latency': 100;
|
|
185
|
+
readonly 'message-throughput': 0.1;
|
|
186
|
+
readonly 'flash-attention': 100;
|
|
187
|
+
readonly 'multi-head-attention': 200;
|
|
188
|
+
readonly 'sona-adaptation': 0.05;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
export default _default;
|
|
192
|
+
//# sourceMappingURL=benchmark.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.d.ts","sourceRoot":"","sources":["../../src/framework/benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V3 Performance Benchmark Framework
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive benchmarking system with statistical analysis,
|
|
5
|
+
* memory tracking, and regression detection capabilities.
|
|
6
|
+
*
|
|
7
|
+
* Target Performance Metrics:
|
|
8
|
+
* - CLI Startup: <500ms (5x faster)
|
|
9
|
+
* - MCP Init: <400ms (4.5x faster)
|
|
10
|
+
* - Agent Spawn: <200ms (4x faster)
|
|
11
|
+
* - Vector Search: <1ms (150x faster)
|
|
12
|
+
* - Memory Write: <5ms (10x faster)
|
|
13
|
+
* - Swarm Consensus: <100ms (5x faster)
|
|
14
|
+
* - Flash Attention: 2.49x-7.47x speedup
|
|
15
|
+
* - Memory Usage: <256MB (50% reduction)
|
|
16
|
+
*/
|
|
17
|
+
import { performance } from 'perf_hooks';
|
|
18
|
+
// ============================================================================
|
|
19
|
+
// Statistical Functions
|
|
20
|
+
// ============================================================================
|
|
21
|
+
/**
|
|
22
|
+
* Calculate mean of an array of numbers
|
|
23
|
+
*/
|
|
24
|
+
function calculateMean(values) {
|
|
25
|
+
if (values.length === 0)
|
|
26
|
+
return 0;
|
|
27
|
+
return values.reduce((sum, val) => sum + val, 0) / values.length;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Calculate median of an array of numbers
|
|
31
|
+
*/
|
|
32
|
+
function calculateMedian(values) {
|
|
33
|
+
if (values.length === 0)
|
|
34
|
+
return 0;
|
|
35
|
+
const sorted = [...values].sort((a, b) => a - b);
|
|
36
|
+
const mid = Math.floor(sorted.length / 2);
|
|
37
|
+
return sorted.length % 2 !== 0
|
|
38
|
+
? sorted[mid]
|
|
39
|
+
: (sorted[mid - 1] + sorted[mid]) / 2;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Calculate percentile of an array of numbers
|
|
43
|
+
*/
|
|
44
|
+
function calculatePercentile(values, percentile) {
|
|
45
|
+
if (values.length === 0)
|
|
46
|
+
return 0;
|
|
47
|
+
const sorted = [...values].sort((a, b) => a - b);
|
|
48
|
+
const index = Math.ceil((percentile / 100) * sorted.length) - 1;
|
|
49
|
+
return sorted[Math.max(0, index)];
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Calculate standard deviation of an array of numbers
|
|
53
|
+
*/
|
|
54
|
+
function calculateStdDev(values) {
|
|
55
|
+
if (values.length < 2)
|
|
56
|
+
return 0;
|
|
57
|
+
const mean = calculateMean(values);
|
|
58
|
+
const squaredDiffs = values.map((val) => Math.pow(val - mean, 2));
|
|
59
|
+
return Math.sqrt(calculateMean(squaredDiffs));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Remove outliers using IQR method
|
|
63
|
+
*/
|
|
64
|
+
function removeOutliers(values) {
|
|
65
|
+
if (values.length < 4)
|
|
66
|
+
return values;
|
|
67
|
+
const sorted = [...values].sort((a, b) => a - b);
|
|
68
|
+
const q1 = calculatePercentile(sorted, 25);
|
|
69
|
+
const q3 = calculatePercentile(sorted, 75);
|
|
70
|
+
const iqr = q3 - q1;
|
|
71
|
+
const lowerBound = q1 - 1.5 * iqr;
|
|
72
|
+
const upperBound = q3 + 1.5 * iqr;
|
|
73
|
+
return sorted.filter((val) => val >= lowerBound && val <= upperBound);
|
|
74
|
+
}
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Memory Utilities
|
|
77
|
+
// ============================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Get current memory usage
|
|
80
|
+
*/
|
|
81
|
+
function getMemoryUsage() {
|
|
82
|
+
const mem = process.memoryUsage();
|
|
83
|
+
return {
|
|
84
|
+
heapUsed: mem.heapUsed,
|
|
85
|
+
heapTotal: mem.heapTotal,
|
|
86
|
+
external: mem.external,
|
|
87
|
+
arrayBuffers: mem.arrayBuffers,
|
|
88
|
+
rss: mem.rss,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Format bytes to human-readable string
|
|
93
|
+
*/
|
|
94
|
+
export function formatBytes(bytes) {
|
|
95
|
+
const units = ['B', 'KB', 'MB', 'GB'];
|
|
96
|
+
let unitIndex = 0;
|
|
97
|
+
let value = bytes;
|
|
98
|
+
while (value >= 1024 && unitIndex < units.length - 1) {
|
|
99
|
+
value /= 1024;
|
|
100
|
+
unitIndex++;
|
|
101
|
+
}
|
|
102
|
+
return `${value.toFixed(2)} ${units[unitIndex]}`;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Format time in milliseconds to human-readable string
|
|
106
|
+
*/
|
|
107
|
+
export function formatTime(ms) {
|
|
108
|
+
if (ms < 0.001) {
|
|
109
|
+
return `${(ms * 1000000).toFixed(2)} ns`;
|
|
110
|
+
}
|
|
111
|
+
else if (ms < 1) {
|
|
112
|
+
return `${(ms * 1000).toFixed(2)} us`;
|
|
113
|
+
}
|
|
114
|
+
else if (ms < 1000) {
|
|
115
|
+
return `${ms.toFixed(2)} ms`;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
return `${(ms / 1000).toFixed(2)} s`;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Force garbage collection if available
|
|
123
|
+
*/
|
|
124
|
+
function forceGC() {
|
|
125
|
+
if (typeof global.gc === 'function') {
|
|
126
|
+
global.gc();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
// ============================================================================
|
|
130
|
+
// Core Benchmark Function
|
|
131
|
+
// ============================================================================
|
|
132
|
+
/**
|
|
133
|
+
* Execute a benchmark with comprehensive statistics
|
|
134
|
+
*/
|
|
135
|
+
export async function benchmark(name, fn, options = {}) {
|
|
136
|
+
const { iterations = 100, warmup = 10, timeout = 30000, forceGC: doForceGC = false, metadata = {}, minRuns = 10, targetTime = 1000, } = options;
|
|
137
|
+
// Calculate actual iterations based on target time
|
|
138
|
+
let actualIterations = iterations;
|
|
139
|
+
// Warmup phase
|
|
140
|
+
for (let i = 0; i < warmup; i++) {
|
|
141
|
+
await Promise.race([
|
|
142
|
+
fn(),
|
|
143
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Warmup timeout')), timeout)),
|
|
144
|
+
]).catch(() => { });
|
|
145
|
+
}
|
|
146
|
+
// Auto-calibrate iterations if needed
|
|
147
|
+
const calibrationStart = performance.now();
|
|
148
|
+
await fn();
|
|
149
|
+
const calibrationTime = performance.now() - calibrationStart;
|
|
150
|
+
if (calibrationTime > 0) {
|
|
151
|
+
const estimatedIterations = Math.ceil(targetTime / calibrationTime);
|
|
152
|
+
actualIterations = Math.max(minRuns, Math.min(iterations, estimatedIterations));
|
|
153
|
+
}
|
|
154
|
+
// Memory before benchmark
|
|
155
|
+
if (doForceGC)
|
|
156
|
+
forceGC();
|
|
157
|
+
const memoryBefore = getMemoryUsage();
|
|
158
|
+
// Run benchmark
|
|
159
|
+
const times = [];
|
|
160
|
+
const startTime = performance.now();
|
|
161
|
+
for (let i = 0; i < actualIterations; i++) {
|
|
162
|
+
if (doForceGC && i % 10 === 0)
|
|
163
|
+
forceGC();
|
|
164
|
+
const iterStart = performance.now();
|
|
165
|
+
await Promise.race([
|
|
166
|
+
fn(),
|
|
167
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error('Iteration timeout')), timeout)),
|
|
168
|
+
]);
|
|
169
|
+
const iterEnd = performance.now();
|
|
170
|
+
times.push(iterEnd - iterStart);
|
|
171
|
+
}
|
|
172
|
+
const totalTime = performance.now() - startTime;
|
|
173
|
+
// Memory after benchmark
|
|
174
|
+
const memoryAfter = getMemoryUsage();
|
|
175
|
+
// Calculate statistics (remove outliers for more accurate results)
|
|
176
|
+
const cleanedTimes = removeOutliers(times);
|
|
177
|
+
const mean = calculateMean(cleanedTimes);
|
|
178
|
+
const median = calculateMedian(cleanedTimes);
|
|
179
|
+
const p95 = calculatePercentile(cleanedTimes, 95);
|
|
180
|
+
const p99 = calculatePercentile(cleanedTimes, 99);
|
|
181
|
+
const min = Math.min(...cleanedTimes);
|
|
182
|
+
const max = Math.max(...cleanedTimes);
|
|
183
|
+
const stdDev = calculateStdDev(cleanedTimes);
|
|
184
|
+
const opsPerSecond = mean > 0 ? 1000 / mean : 0;
|
|
185
|
+
return {
|
|
186
|
+
name,
|
|
187
|
+
iterations: actualIterations,
|
|
188
|
+
mean,
|
|
189
|
+
median,
|
|
190
|
+
p95,
|
|
191
|
+
p99,
|
|
192
|
+
min,
|
|
193
|
+
max,
|
|
194
|
+
stdDev,
|
|
195
|
+
opsPerSecond,
|
|
196
|
+
memoryUsage: memoryAfter,
|
|
197
|
+
memoryDelta: memoryAfter.heapUsed - memoryBefore.heapUsed,
|
|
198
|
+
timestamp: Date.now(),
|
|
199
|
+
metadata,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
// ============================================================================
|
|
203
|
+
// Benchmark Suite Runner
|
|
204
|
+
// ============================================================================
|
|
205
|
+
export class BenchmarkRunner {
|
|
206
|
+
results = [];
|
|
207
|
+
suiteName;
|
|
208
|
+
constructor(name) {
|
|
209
|
+
this.suiteName = name;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Run a single benchmark and add to results
|
|
213
|
+
*/
|
|
214
|
+
async run(name, fn, options) {
|
|
215
|
+
const result = await benchmark(name, fn, options);
|
|
216
|
+
this.results.push(result);
|
|
217
|
+
return result;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Run multiple benchmarks in sequence
|
|
221
|
+
*/
|
|
222
|
+
async runAll(benchmarks) {
|
|
223
|
+
const startTime = performance.now();
|
|
224
|
+
for (const bench of benchmarks) {
|
|
225
|
+
await this.run(bench.name, bench.fn, bench.options);
|
|
226
|
+
}
|
|
227
|
+
return {
|
|
228
|
+
name: this.suiteName,
|
|
229
|
+
benchmarks: this.results,
|
|
230
|
+
totalTime: performance.now() - startTime,
|
|
231
|
+
timestamp: Date.now(),
|
|
232
|
+
environment: this.getEnvironmentInfo(),
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Get environment information
|
|
237
|
+
*/
|
|
238
|
+
getEnvironmentInfo() {
|
|
239
|
+
const os = require('os');
|
|
240
|
+
return {
|
|
241
|
+
nodeVersion: process.version,
|
|
242
|
+
platform: process.platform,
|
|
243
|
+
arch: process.arch,
|
|
244
|
+
cpus: os.cpus().length,
|
|
245
|
+
memory: os.totalmem(),
|
|
246
|
+
v8Version: process.versions.v8,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Get all results
|
|
251
|
+
*/
|
|
252
|
+
getResults() {
|
|
253
|
+
return this.results;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Clear all results
|
|
257
|
+
*/
|
|
258
|
+
clear() {
|
|
259
|
+
this.results = [];
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Print formatted results to console
|
|
263
|
+
*/
|
|
264
|
+
printResults() {
|
|
265
|
+
console.log(`\n${'='.repeat(60)}`);
|
|
266
|
+
console.log(`Benchmark Suite: ${this.suiteName}`);
|
|
267
|
+
console.log(`${'='.repeat(60)}\n`);
|
|
268
|
+
for (const result of this.results) {
|
|
269
|
+
console.log(`${result.name}:`);
|
|
270
|
+
console.log(` Iterations: ${result.iterations}`);
|
|
271
|
+
console.log(` Mean: ${formatTime(result.mean)}`);
|
|
272
|
+
console.log(` Median: ${formatTime(result.median)}`);
|
|
273
|
+
console.log(` Std Dev: ${formatTime(result.stdDev)}`);
|
|
274
|
+
console.log(` P95: ${formatTime(result.p95)}`);
|
|
275
|
+
console.log(` P99: ${formatTime(result.p99)}`);
|
|
276
|
+
console.log(` Min: ${formatTime(result.min)}`);
|
|
277
|
+
console.log(` Max: ${formatTime(result.max)}`);
|
|
278
|
+
console.log(` Ops/sec: ${result.opsPerSecond.toFixed(2)}`);
|
|
279
|
+
console.log(` Memory Delta: ${formatBytes(result.memoryDelta)}`);
|
|
280
|
+
console.log('');
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Export results as JSON
|
|
285
|
+
*/
|
|
286
|
+
toJSON() {
|
|
287
|
+
return JSON.stringify({
|
|
288
|
+
name: this.suiteName,
|
|
289
|
+
benchmarks: this.results,
|
|
290
|
+
timestamp: Date.now(),
|
|
291
|
+
environment: this.getEnvironmentInfo(),
|
|
292
|
+
}, null, 2);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// ============================================================================
|
|
296
|
+
// Comparison Utilities
|
|
297
|
+
// ============================================================================
|
|
298
|
+
/**
|
|
299
|
+
* Compare benchmark results against baseline
|
|
300
|
+
*/
|
|
301
|
+
export function compareResults(baseline, current, targets) {
|
|
302
|
+
const comparisons = [];
|
|
303
|
+
for (const curr of current) {
|
|
304
|
+
const base = baseline.find((b) => b.name === curr.name);
|
|
305
|
+
if (!base)
|
|
306
|
+
continue;
|
|
307
|
+
const change = curr.mean - base.mean;
|
|
308
|
+
const changePercent = (change / base.mean) * 100;
|
|
309
|
+
const improved = change < 0;
|
|
310
|
+
// Consider significant if change is > 5% and > 2 standard deviations
|
|
311
|
+
const combinedStdDev = Math.sqrt(Math.pow(base.stdDev, 2) + Math.pow(curr.stdDev, 2));
|
|
312
|
+
const significant = Math.abs(change) > 2 * combinedStdDev;
|
|
313
|
+
const target = targets?.[curr.name];
|
|
314
|
+
const targetMet = target !== undefined ? curr.mean <= target : true;
|
|
315
|
+
comparisons.push({
|
|
316
|
+
benchmark: curr.name,
|
|
317
|
+
baseline: base.mean,
|
|
318
|
+
current: curr.mean,
|
|
319
|
+
change,
|
|
320
|
+
changePercent,
|
|
321
|
+
improved,
|
|
322
|
+
significant,
|
|
323
|
+
target,
|
|
324
|
+
targetMet,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
return comparisons;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Print comparison report
|
|
331
|
+
*/
|
|
332
|
+
export function printComparisonReport(comparisons) {
|
|
333
|
+
console.log('\n' + '='.repeat(80));
|
|
334
|
+
console.log('Performance Comparison Report');
|
|
335
|
+
console.log('='.repeat(80) + '\n');
|
|
336
|
+
console.log(`${'Benchmark'.padEnd(35)} ${'Baseline'.padEnd(12)} ${'Current'.padEnd(12)} ${'Change'.padEnd(12)} Status`);
|
|
337
|
+
console.log('-'.repeat(80));
|
|
338
|
+
for (const comp of comparisons) {
|
|
339
|
+
const baselineStr = formatTime(comp.baseline);
|
|
340
|
+
const currentStr = formatTime(comp.current);
|
|
341
|
+
const changeStr = `${comp.changePercent >= 0 ? '+' : ''}${comp.changePercent.toFixed(1)}%`;
|
|
342
|
+
let status = '';
|
|
343
|
+
if (comp.significant) {
|
|
344
|
+
status = comp.improved ? '[IMPROVED]' : '[REGRESSED]';
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
status = '[~]';
|
|
348
|
+
}
|
|
349
|
+
if (!comp.targetMet) {
|
|
350
|
+
status += ' [MISSED TARGET]';
|
|
351
|
+
}
|
|
352
|
+
console.log(`${comp.benchmark.padEnd(35)} ${baselineStr.padEnd(12)} ${currentStr.padEnd(12)} ${changeStr.padEnd(12)} ${status}`);
|
|
353
|
+
}
|
|
354
|
+
console.log('\n');
|
|
355
|
+
}
|
|
356
|
+
// ============================================================================
|
|
357
|
+
// V3 Performance Targets
|
|
358
|
+
// ============================================================================
|
|
359
|
+
export const V3_PERFORMANCE_TARGETS = {
|
|
360
|
+
// Startup Performance
|
|
361
|
+
'cli-cold-start': 500, // <500ms (5x faster)
|
|
362
|
+
'cli-warm-start': 100, // <100ms
|
|
363
|
+
'mcp-server-init': 400, // <400ms (4.5x faster)
|
|
364
|
+
'agent-spawn': 200, // <200ms (4x faster)
|
|
365
|
+
// Memory Operations
|
|
366
|
+
'vector-search': 1, // <1ms (150x faster)
|
|
367
|
+
'hnsw-indexing': 10, // <10ms
|
|
368
|
+
'memory-write': 5, // <5ms (10x faster)
|
|
369
|
+
'cache-hit': 0.1, // <0.1ms
|
|
370
|
+
// Swarm Coordination
|
|
371
|
+
'agent-coordination': 50, // <50ms
|
|
372
|
+
'task-decomposition': 20, // <20ms
|
|
373
|
+
'consensus-latency': 100, // <100ms (5x faster)
|
|
374
|
+
'message-throughput': 0.1, // <0.1ms per message
|
|
375
|
+
// Attention Mechanisms
|
|
376
|
+
'flash-attention': 100, // Baseline comparison target
|
|
377
|
+
'multi-head-attention': 200, // Baseline comparison target
|
|
378
|
+
// SONA Learning
|
|
379
|
+
'sona-adaptation': 0.05, // <0.05ms
|
|
380
|
+
};
|
|
381
|
+
/**
|
|
382
|
+
* Check if a benchmark meets its target
|
|
383
|
+
*/
|
|
384
|
+
export function meetsTarget(benchmarkName, value) {
|
|
385
|
+
const target = V3_PERFORMANCE_TARGETS[benchmarkName];
|
|
386
|
+
if (target === undefined) {
|
|
387
|
+
return { met: true, target: undefined, ratio: undefined };
|
|
388
|
+
}
|
|
389
|
+
return {
|
|
390
|
+
met: value <= target,
|
|
391
|
+
target,
|
|
392
|
+
ratio: value / target,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
// ============================================================================
|
|
396
|
+
// Export Default Runner Instance
|
|
397
|
+
// ============================================================================
|
|
398
|
+
export default {
|
|
399
|
+
benchmark,
|
|
400
|
+
BenchmarkRunner,
|
|
401
|
+
compareResults,
|
|
402
|
+
printComparisonReport,
|
|
403
|
+
formatBytes,
|
|
404
|
+
formatTime,
|
|
405
|
+
meetsTarget,
|
|
406
|
+
V3_PERFORMANCE_TARGETS,
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=benchmark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/framework/benchmark.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sparkleideas/performance
|
|
3
|
+
*
|
|
4
|
+
* Performance module for claude-flow v3.
|
|
5
|
+
* Provides benchmarking, Flash Attention validation, and optimization utilities.
|
|
6
|
+
*
|
|
7
|
+
* Target Performance Metrics:
|
|
8
|
+
* - CLI Startup: <500ms (5x faster)
|
|
9
|
+
* - MCP Init: <400ms (4.5x faster)
|
|
10
|
+
* - Agent Spawn: <200ms (4x faster)
|
|
11
|
+
* - Vector Search: <1ms (150x faster)
|
|
12
|
+
* - Memory Write: <5ms (10x faster)
|
|
13
|
+
* - Swarm Consensus: <100ms (5x faster)
|
|
14
|
+
* - Flash Attention: 2.49x-7.47x speedup
|
|
15
|
+
* - Memory Usage: <256MB (50% reduction)
|
|
16
|
+
*/
|
|
17
|
+
export { benchmark, BenchmarkRunner, compareResults, printComparisonReport, formatBytes, formatTime, meetsTarget, V3_PERFORMANCE_TARGETS, type BenchmarkResult, type BenchmarkOptions, type BenchmarkSuite, type EnvironmentInfo, type ComparisonResult, type MemoryUsage, type PerformanceTarget, } from './framework/benchmark.js';
|
|
18
|
+
export { FlashAttentionOptimizer, createFlashAttentionOptimizer, quickBenchmark, type AttentionInput, type AttentionOutput, type BenchmarkResult as AttentionBenchmarkResult, type PerformanceMetrics as AttentionMetrics, } from './attention-integration.js';
|
|
19
|
+
export { AttentionBenchmarkRunner, formatBenchmarkTable, formatSuiteReport, formatMemoryProfile, quickValidation, runAndDisplaySuite, runAndDisplayMemoryProfile, type ComparisonBenchmark, type SuiteResult, type MemoryProfile, } from './attention-benchmarks.js';
|
|
20
|
+
export { default } from './framework/benchmark.js';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,SAAS,EACT,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,WAAW,EACX,UAAU,EACV,WAAW,EACX,sBAAsB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,IAAI,wBAAwB,EAChD,KAAK,kBAAkB,IAAI,gBAAgB,GAC5C,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @sparkleideas/performance
|
|
3
|
+
*
|
|
4
|
+
* Performance module for claude-flow v3.
|
|
5
|
+
* Provides benchmarking, Flash Attention validation, and optimization utilities.
|
|
6
|
+
*
|
|
7
|
+
* Target Performance Metrics:
|
|
8
|
+
* - CLI Startup: <500ms (5x faster)
|
|
9
|
+
* - MCP Init: <400ms (4.5x faster)
|
|
10
|
+
* - Agent Spawn: <200ms (4x faster)
|
|
11
|
+
* - Vector Search: <1ms (150x faster)
|
|
12
|
+
* - Memory Write: <5ms (10x faster)
|
|
13
|
+
* - Swarm Consensus: <100ms (5x faster)
|
|
14
|
+
* - Flash Attention: 2.49x-7.47x speedup
|
|
15
|
+
* - Memory Usage: <256MB (50% reduction)
|
|
16
|
+
*/
|
|
17
|
+
// Re-export benchmark framework
|
|
18
|
+
export { benchmark, BenchmarkRunner, compareResults, printComparisonReport, formatBytes, formatTime, meetsTarget, V3_PERFORMANCE_TARGETS, } from './framework/benchmark.js';
|
|
19
|
+
// Re-export Flash Attention integration
|
|
20
|
+
export { FlashAttentionOptimizer, createFlashAttentionOptimizer, quickBenchmark, } from './attention-integration.js';
|
|
21
|
+
// Re-export Flash Attention benchmarks
|
|
22
|
+
export { AttentionBenchmarkRunner, formatBenchmarkTable, formatSuiteReport, formatMemoryProfile, quickValidation, runAndDisplaySuite, runAndDisplayMemoryProfile, } from './attention-benchmarks.js';
|
|
23
|
+
// Default export for convenience
|
|
24
|
+
export { default } from './framework/benchmark.js';
|
|
25
|
+
//# sourceMappingURL=index.js.map
|