diff --git a/docs/evidence/interned-stock-state-symbols-20260905.json b/docs/evidence/interned-stock-state-symbols-20260905.json new file mode 100644 index 0000000..b9e0570 --- /dev/null +++ b/docs/evidence/interned-stock-state-symbols-20260905.json @@ -0,0 +1,95 @@ +{ + "schemaVersion": "fidc-interned-stock-state-symbols/v1", + "measuredAt": "2026-09-05T01:50:00+08:00", + "host": "192.168.31.177", + "engineCommit": "e5646ef80c9a5c6d2d3a1b9b6f330fbbc27aa4ab", + "runnerBinarySha256": "c2f6f0b8cc194a5e3f668bcc0d54b3712cf037267ccc6c04d5f850d8ccbd6314", + "implementation": { + "description": "intern each canonical symbol once in DataSet and clone Arc into per-date StockExpressionState objects instead of allocating a String for every state", + "rhaiStringBoundaryPreserved": true, + "crossDateSharedSymbolTested": true, + "cachedFactorValues": false, + "cachedSelectionResults": false, + "pitSemanticsChanged": false + }, + "primaryFiveYearContract": { + "startDate": "2021-08-23", + "endDate": "2026-08-28", + "frequency": "1d", + "matchingType": "next_bar_open", + "totalReturn": 0.9219861819172002, + "tradeCount": 26088, + "canonicalSha256": "b42fea66237d06eadb24f6b8c9e2760e7319fe3699f315b99e01f433ef2aa234", + "resultStoreSha256": "92343fb369fea68b2544b654151c5c43a935940580b14afbe8eefb3844f72a54", + "lowContentionEngineSeconds": [5.505, 5.748, 5.67, 6.005, 6.497], + "medianEngineSeconds": 5.748, + "compactKeyBaselineMedianEngineSeconds": 5.734, + "resultConsistent": true, + "terminalAuditStatus": "clean" + }, + "secondaryFiveYearContract": { + "totalReturn": 1.1342962298106998, + "tradeCount": 19404, + "canonicalSha256": "0dbd3fad624097c673c4a5ec2f545f95e9c21d1d5337bb2b48ffeb22b16cb2b9", + "resultStoreSha256": "416d2f87241fb4c6b917f6aeecb588f82f6e7d51a103f4c53a74d11971f16839", + "engineSeconds": [5.648, 5.35, 5.003], + "medianEngineSeconds": 5.35, + "resultConsistent": true, + "terminalAuditStatus": "clean" + }, + "hardwareCounters": { + "candidateRunId": "btr_1788544043073_3041540_6", + "candidateEngineSeconds": 8.227, + "candidateInstructions": 27997441984, + "candidateBranches": 4947191270, + "earlierSharedIndexBaselineInstructions": 28218847364, + "earlierSharedIndexBaselineBranches": 5024236708, + "observedInstructionReductionPercent": 0.7846044523842924, + "observedBranchReductionPercent": 1.533451728719079, + "attributionNote": "the earlier hardware baseline predates the compact cache-key change, so counters prove the combined structural reduction rather than symbol interning alone" + }, + "profile": { + "runId": "btr_1788544253262_3041540_15", + "totalSeconds": 6.136, + "engineSeconds": 5.509, + "eventCycles": 15296376746, + "stockStatePercent": 16.25, + "preInternStockStatePercent": 23.86, + "mallocPercent": 4.22, + "numericVmPercent": 6.02, + "adjustedCloseMovingAveragePercent": 5.10 + }, + "excludedHighContentionBatch": { + "hostLoadAveragePeak": 69.23, + "engineSeconds": [7.247, 7.094, 7.481, 7.967, 37.981, 44.366], + "resultConsistent": true, + "performanceComparisonExcluded": true, + "reason": "independent tan child processes executed on backtest-reserved CPUs; no external process was modified" + }, + "memory": { + "serviceCgroupCurrentBytes": 11485425664, + "serviceCgroupPeakBytes": 11488174080, + "processRssKiB": 11196756, + "processAnonymousKiB": 11180328 + }, + "testGate": { + "coreUnitTotal": 420, + "corePassed": 414, + "ignoredManualBenchmarks": 6, + "failed": 0, + "integrationSuitesPassed": true + }, + "remoteArtifacts": [ + "/srv/fidc/canonical/run/fidc-private/evidence/interned-stock-symbol-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/interned-stock-symbol-low-contention-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/interned-stock-symbol-secondary-20260905.json", + "/srv/fidc/canonical/run/fidc-private/evidence/interned-stock-symbol-perf-stat-20260905/perf-stat.csv", + "/srv/fidc/canonical/run/fidc-private/evidence/interned-stock-symbol-profile-20260905/perf.data", + "/srv/fidc/canonical/run/fidc-private/evidence/interned-stock-symbol-profile-20260905/perf-report.txt" + ], + "acceptance": { + "status": "accepted_structural_allocation_reduction_no_regression", + "endToEndSpeedupClaimed": false, + "reason": "both five-year strategies preserve exact outputs, low-contention wall time is neutral, and the stock-state profile plus hardware counters show less allocation-related work" + } +}