Norn/benchmarks/realtime/simulation-profile-baseline.json
2026-05-19 20:33:49 +01:00

245 lines
6.3 KiB
JSON

{
"generatedAtUtc": "2026-05-19T19:25:01.505Z",
"description": "Smoke baseline for React viewer realtime simulation profile. Measures local JS simulation cost/error over synthetic expansions of mock Epiphany state.",
"method": {
"iterations": 180,
"warmupIterations": 30,
"timestepSeconds": 0.025,
"groundTruth": "full sample using all nodes and refreshed edges every step",
"score": "Candidates are better when they stay under simulationBudgetMs while reducing layout-anchor error and staying close to the full-sample baseline."
},
"corpora": [
{
"id": "mock-1x",
"nodeCount": 10,
"edgeCount": 10,
"fullSample": {
"id": "full",
"averageCostMs": 0.0113,
"p95CostMs": 0.0186,
"budgetHitRate": 1,
"averageNodeBudget": 10,
"anchorError": 9.6281,
"baselineError": 0
},
"candidates": [
{
"id": "quality",
"averageCostMs": 0.0045,
"p95CostMs": 0.0049,
"budgetHitRate": 1,
"averageNodeBudget": 10,
"anchorError": 9.6281,
"baselineError": 0
},
{
"id": "balanced",
"averageCostMs": 0.0037,
"p95CostMs": 0.0062,
"budgetHitRate": 1,
"averageNodeBudget": 10,
"anchorError": 9.6281,
"baselineError": 0
},
{
"id": "fast",
"averageCostMs": 0.0034,
"p95CostMs": 0.004,
"budgetHitRate": 1,
"averageNodeBudget": 10,
"anchorError": 9.6281,
"baselineError": 0
}
]
},
{
"id": "mock-4x",
"nodeCount": 40,
"edgeCount": 40,
"fullSample": {
"id": "full",
"averageCostMs": 0.0177,
"p95CostMs": 0.0212,
"budgetHitRate": 1,
"averageNodeBudget": 40,
"anchorError": 9.5761,
"baselineError": 0
},
"candidates": [
{
"id": "quality",
"averageCostMs": 0.0134,
"p95CostMs": 0.014,
"budgetHitRate": 1,
"averageNodeBudget": 40,
"anchorError": 9.5761,
"baselineError": 0
},
{
"id": "balanced",
"averageCostMs": 0.0126,
"p95CostMs": 0.0116,
"budgetHitRate": 1,
"averageNodeBudget": 40,
"anchorError": 9.5761,
"baselineError": 0
},
{
"id": "fast",
"averageCostMs": 0.0128,
"p95CostMs": 0.0171,
"budgetHitRate": 1,
"averageNodeBudget": 40,
"anchorError": 9.5761,
"baselineError": 0
}
]
},
{
"id": "mock-12x",
"nodeCount": 120,
"edgeCount": 120,
"fullSample": {
"id": "full",
"averageCostMs": 0.0468,
"p95CostMs": 0.0435,
"budgetHitRate": 1,
"averageNodeBudget": 120,
"anchorError": 9.534,
"baselineError": 0
},
"candidates": [
{
"id": "quality",
"averageCostMs": 0.036,
"p95CostMs": 0.0723,
"budgetHitRate": 1,
"averageNodeBudget": 120,
"anchorError": 9.534,
"baselineError": 0
},
{
"id": "balanced",
"averageCostMs": 0.0357,
"p95CostMs": 0.0521,
"budgetHitRate": 1,
"averageNodeBudget": 120,
"anchorError": 9.534,
"baselineError": 0
},
{
"id": "fast",
"averageCostMs": 0.195,
"p95CostMs": 0.4638,
"budgetHitRate": 1,
"averageNodeBudget": 90,
"anchorError": 7.161,
"baselineError": 2.373
}
]
}
],
"candidates": [
{
"id": "quality",
"budgetHitRate": 1,
"averageCostMs": 0.017966666666666666,
"baselineError": 0,
"anchorError": 9.5794,
"profile": {
"id": "quality",
"simulationBudgetMs": 8,
"targetFps": 60,
"maxAnimatedNodes": 5000,
"edgeRefreshRate": 1,
"maxTimeStepMs": 34,
"reduceThreshold": 1.08,
"expandThreshold": 0.55,
"nodeBudgetCutRatio": 0.92,
"nodeBudgetGrowthRatio": 1.16,
"nodeBudgetGrowthAdd": 2
}
},
{
"id": "balanced",
"budgetHitRate": 1,
"averageCostMs": 0.017333333333333336,
"baselineError": 0,
"anchorError": 9.5794,
"profile": {
"id": "balanced",
"simulationBudgetMs": 4,
"targetFps": 40,
"maxAnimatedNodes": 240,
"edgeRefreshRate": 2,
"maxTimeStepMs": 28,
"reduceThreshold": 1.08,
"expandThreshold": 0.55,
"nodeBudgetCutRatio": 0.92,
"nodeBudgetGrowthRatio": 1.16,
"nodeBudgetGrowthAdd": 2
}
},
{
"id": "fast",
"budgetHitRate": 1,
"averageCostMs": 0.0704,
"baselineError": 0.791,
"anchorError": 8.788400000000001,
"profile": {
"id": "fast",
"simulationBudgetMs": 2.5,
"targetFps": 24,
"maxAnimatedNodes": 90,
"edgeRefreshRate": 3,
"maxTimeStepMs": 24,
"reduceThreshold": 1.08,
"expandThreshold": 0.55,
"nodeBudgetCutRatio": 0.92,
"nodeBudgetGrowthRatio": 1.16,
"nodeBudgetGrowthAdd": 2
}
}
],
"recommendation": {
"quality": {
"id": "quality",
"simulationBudgetMs": 8,
"targetFps": 60,
"maxAnimatedNodes": 5000,
"edgeRefreshRate": 1,
"maxTimeStepMs": 34,
"reduceThreshold": 1.08,
"expandThreshold": 0.55,
"nodeBudgetCutRatio": 0.92,
"nodeBudgetGrowthRatio": 1.16,
"nodeBudgetGrowthAdd": 2
},
"balanced": {
"id": "balanced",
"simulationBudgetMs": 4,
"targetFps": 40,
"maxAnimatedNodes": 240,
"edgeRefreshRate": 2,
"maxTimeStepMs": 28,
"reduceThreshold": 1.08,
"expandThreshold": 0.55,
"nodeBudgetCutRatio": 0.92,
"nodeBudgetGrowthRatio": 1.16,
"nodeBudgetGrowthAdd": 2
},
"fast": {
"id": "fast",
"simulationBudgetMs": 2.5,
"targetFps": 24,
"maxAnimatedNodes": 90,
"edgeRefreshRate": 3,
"maxTimeStepMs": 24,
"reduceThreshold": 1.08,
"expandThreshold": 0.55,
"nodeBudgetCutRatio": 0.92,
"nodeBudgetGrowthRatio": 1.16,
"nodeBudgetGrowthAdd": 2
}
}
}