51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Quick test of the simulation with reduced node count
|
|
|
|
echo "Running quick simulation test (20K nodes)..."
|
|
|
|
# Temporarily modify target to 20K for quick test
|
|
node --loader ts-node/esm -e "
|
|
import { Network } from './src/network.js';
|
|
import { MetricsCollector } from './src/metrics.js';
|
|
import { PhaseManager } from './src/phases.js';
|
|
import { ReportGenerator } from './src/report.js';
|
|
import { NetworkPhase } from './src/network.js';
|
|
|
|
const network = new Network({
|
|
genesisNodeCount: 50,
|
|
targetNodeCount: 20000,
|
|
nodesPerTick: 100,
|
|
taskGenerationRate: 5,
|
|
baseTaskReward: 1.0,
|
|
connectionCost: 0.5,
|
|
maxConnectionsPerNode: 50,
|
|
});
|
|
|
|
const metrics = new MetricsCollector(network);
|
|
const phaseManager = new PhaseManager(network, metrics);
|
|
const reportGenerator = new ReportGenerator(network, metrics);
|
|
|
|
console.log('Initializing network...');
|
|
network.initialize();
|
|
metrics.initialize();
|
|
|
|
let lastUpdate = 0;
|
|
while (network.cells.size < 20000 && network.currentTick < 5000) {
|
|
network.tick();
|
|
metrics.collect();
|
|
phaseManager.checkTransition();
|
|
|
|
if (network.currentTick - lastUpdate >= 50) {
|
|
const stats = network.getStats();
|
|
console.log(\`Tick \${network.currentTick}: \${stats.nodeCount} nodes | Phase: \${network.currentPhase}\`);
|
|
lastUpdate = network.currentTick;
|
|
}
|
|
}
|
|
|
|
metrics.finalizeCurrent();
|
|
console.log('\\nGenerating report...');
|
|
reportGenerator.printSummary();
|
|
reportGenerator.saveReport('/workspaces/ruvector/examples/edge-net/sim/test-report.json');
|
|
console.log('✅ Quick test complete!');
|
|
"
|