mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
fcdd783df9
Strategy pattern integration for BaseAgent decomposition: - Add AgentLifecycleStrategy, AgentMemoryStrategy interfaces - Add AgentLearningStrategy, AgentCoordinationStrategy interfaces - Implement DefaultLifecycleStrategy, DefaultMemoryStrategy - Implement DefaultLearningStrategy, DefaultCoordinationStrategy - Create LifecycleManagerAdapter bridging existing manager - Create MemoryServiceAdapter bridging existing service - Add platform operations module (A2.2) with COW/reflink support - Add actual benchmark results (not estimates) Test coverage: 117 tests passing - 75 strategy tests - 21 platform operation tests - 21 lifecycle adapter tests BaseAgent now has strategies property with adapters as defaults. Full decomposition (LOC reduction) in next commit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
57 lines
2.5 KiB
TypeScript
57 lines
2.5 KiB
TypeScript
/**
|
|
* Run actual platform benchmarks and output results
|
|
*/
|
|
import { benchmarkCopy, getCopyCapabilities } from '../src/core/platform/FileOperations';
|
|
import { detectCapabilities } from '../src/core/platform/PlatformDetector';
|
|
import * as os from 'os';
|
|
|
|
async function main() {
|
|
console.log('=== Platform Benchmark Results ===');
|
|
console.log('Date:', new Date().toISOString());
|
|
console.log('Platform:', os.platform());
|
|
console.log('Architecture:', os.arch());
|
|
console.log('Node.js:', process.version);
|
|
console.log('');
|
|
|
|
// Detect capabilities
|
|
console.log('--- Platform Capabilities ---');
|
|
const caps = await detectCapabilities(os.tmpdir());
|
|
console.log('Filesystem:', caps.filesystem);
|
|
console.log('Supports Reflink:', caps.supportsReflink);
|
|
console.log('Supports Hardlinks:', caps.supportsHardlinks);
|
|
console.log('Supports copy_file_range:', caps.supportsCopyFileRange);
|
|
console.log('Summary:', caps.summary);
|
|
console.log('');
|
|
|
|
// Get copy capabilities
|
|
console.log('--- Copy Capabilities ---');
|
|
const copyCaps = await getCopyCapabilities();
|
|
console.log('Optimal Strategy:', copyCaps.optimalStrategy);
|
|
console.log('Expected Speedup:', copyCaps.expectedSpeedup);
|
|
console.log('');
|
|
|
|
// Run benchmarks
|
|
console.log('--- Benchmark Results (1MB file) ---');
|
|
const results = await benchmarkCopy(os.tmpdir());
|
|
console.log('Reflink:', results.reflink !== null ? results.reflink.toFixed(3) + 'ms' : 'Not supported');
|
|
console.log('Kernel copy:', results.kernel !== null ? results.kernel.toFixed(3) + 'ms' : 'N/A');
|
|
console.log('Userspace copy:', results.userspace.toFixed(3) + 'ms');
|
|
console.log('Improvement:', results.improvement);
|
|
console.log('');
|
|
|
|
// Output markdown format for documentation
|
|
console.log('=== Markdown Output ===');
|
|
console.log('');
|
|
console.log('| Metric | Value |');
|
|
console.log('|--------|-------|');
|
|
console.log('| Platform |', os.platform(), '|');
|
|
console.log('| Filesystem |', caps.filesystem, '|');
|
|
console.log('| Reflink Support |', caps.supportsReflink, '|');
|
|
console.log('| Reflink Time |', results.reflink !== null ? results.reflink.toFixed(3) + 'ms' : 'N/A', '|');
|
|
console.log('| Kernel Copy Time |', results.kernel !== null ? results.kernel.toFixed(3) + 'ms' : 'N/A', '|');
|
|
console.log('| Userspace Copy Time |', results.userspace.toFixed(3) + 'ms', '|');
|
|
console.log('| Improvement Factor |', results.improvement, '|');
|
|
}
|
|
|
|
main().catch(console.error);
|