From e0b4a3f56ccb24e8588ad3e5b0d9170c0a8c7cfc Mon Sep 17 00:00:00 2001 From: boris Date: Sun, 6 Sep 2026 17:45:42 +0800 Subject: [PATCH] docs: record expression scope performance evidence --- .../expression-scope-reuse-20260906.json | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 docs/evidence/expression-scope-reuse-20260906.json diff --git a/docs/evidence/expression-scope-reuse-20260906.json b/docs/evidence/expression-scope-reuse-20260906.json new file mode 100644 index 0000000..64759fd --- /dev/null +++ b/docs/evidence/expression-scope-reuse-20260906.json @@ -0,0 +1,108 @@ +{ + "schemaVersion": "fidc.engine-expression-scope-performance/v1", + "generatedAt": "2026-09-06T17:45:00+08:00", + "host": "192.168.31.177", + "profile": { + "artifact": "/srv/fidc/canonical/run/fidc-private/evidence/profiles/fidc-hot-engine-d324d284-20260906.data", + "event": "cpu-clock", + "frequencyHz": 499, + "samples": 3501, + "lostSamples": 0, + "scope": "system.slice/fidc-backtest-service-highmem177.service", + "observedSelfOverheadPercent": { + "chronoDelayedFormat": 6.31, + "chronoStrftimeIterator": 5.0, + "selectiveScopePushDynamic": 5.2, + "selectiveScopePushString": 3.48, + "selectiveScopePushInteger": 3.03, + "selectiveScopePushBoolean": 1.09, + "marketBySymbolId": 6.2, + "malloc": 4.74, + "free": 2.43 + } + }, + "change": { + "baselineEngineCommit": "630a7a1", + "candidateEngineCommit": "840473362d7032b80d551ba5935723ee823dffa1", + "serviceCommit": "bac07c208c652a717d312e332d44f90218cc1247", + "behavior": "Expression scope identifiers are passed directly to Rhai without an intermediate heap String. Trade, decision and execution date strings are formatted once per DayExpressionState and reused as ImmutableString values by every expression evaluation on that day." + }, + "request": { + "sourceRunId": "btr_1788681250851_3170500_1", + "startDate": "2023-01-03", + "endDate": "2025-12-31", + "frequency": "1d", + "matchingType": "next_bar_open", + "initialCash": 10000000.0, + "benchmark": "000852.SH", + "frozenBundleReused": true + }, + "baseline": { + "runIds": [ + "btr_1788686878533_3170500_3", + "btr_1788686907702_3170500_4", + "btr_1788687153269_3170500_5" + ], + "engineSeconds": [ + 6.582, + 6.442, + 6.352 + ], + "engineMedianSeconds": 6.442, + "totalSeconds": [ + 7.22, + 7.04, + 7.388 + ], + "totalMedianSeconds": 7.22 + }, + "candidate": { + "coldRun": { + "runId": "btr_1788687746484_3277755_0", + "totalSeconds": 13.369, + "dataSeconds": 7.827, + "engineSeconds": 4.925, + "classification": "runner_process_cold" + }, + "hotRunIds": [ + "btr_1788687763649_3277755_1", + "btr_1788687774308_3277755_2", + "btr_1788687798961_3277755_3", + "btr_1788687813292_3277755_4" + ], + "hotEngineSeconds": [ + 5.021, + 5.077, + 5.18, + 4.951 + ], + "hotEngineMedianSeconds": 5.049, + "hotTotalSeconds": [ + 5.659, + 5.756, + 5.836, + 5.84 + ], + "hotTotalMedianSeconds": 5.796, + "engineMedianImprovementPercent": 21.624, + "totalMedianImprovementPercent": 19.723 + }, + "correctness": { + "totalReturn": -0.615167693429, + "tradeCount": 4961, + "canonicalResultSha256": "f9c26271d4f2096e51429b6106740f600757823789bf6447cd0c524f702f0836", + "resultStoreSha256": "56042bd25bd4261e41e8237c9f5ead580b782d897baae58c8e4436f331a1d91f", + "allFiveCandidateRunsEqualBaseline": true, + "returnDelta": 0.0, + "tradeCountDelta": 0 + }, + "validation": { + "cargoFmt": "passed", + "platformExpressionTests": "180 passed, 1 ignored", + "workspaceTests": "421 passed, 6 ignored plus all integration tests passed", + "runtimeUser": "boris", + "serviceHealth": "ok", + "buildManifest": "/srv/fidc/canonical/run/build/fidc-backtest-service.json", + "runnerBinarySha256": "909cb47ef20128b4990bf355d0c63e10d7d74aac128067fa19c971698c5d85bc" + } +}