# Результаты benchmark

Каждый запуск хранится в собственной timestamp-папке. Raw CSV, сводки и
environment metadata намеренно не игнорируются Git. Новые запуски содержат
достаточно metadata для сопоставления с окружением; у ранних папок metadata
неполные. В v13 репозиторий ещё не имел HEAD, поэтому состояние исходников
дополнительно зафиксировано SHA-256 в README самого запуска.

`20260810-smoke-*` — ранние проверки runner/index. `20260810-quick/*-tune.csv`
— calibration-перебор фиксированных leaf/levels для трёх `/O2` профилей. После
введения adaptive shape новые запуски дополнительно содержат `final_leaf`,
`final_levels` и `shape_rebuilds`; старые CSV этих колонок не имеют.

Краткая хронология:

| Серия | Статус | Назначение |
|---|---|---|
| `20260810-smoke-*`, `adaptive-smoke*` | ранняя | проверка runner, index и первых переходов |
| `20260810-quick` | calibration | перебор leaf/levels в scalar, baseline и AVX2 |
| `policy-smoke-v4`, `policy-quick-v5` | calibration | горизонт прогноза и evidence |
| `policy-smoke-v6`, `policy-quick-v7` | calibration | aggressive/moderate/balanced policy |
| `holdout-smoke-v8-selected` | промежуточный holdout | выбранная moderate policy |
| `smoke-v9`…`v11` | оптимизация hot path | порог N, fast path и edit sampling |
| `holdout-quick-v12-selected` | quick holdout | выбранная policy до bulk-slack |
| `bulk-slack-smoke-v13` | exploratory checkpoint | 7/8 bulk fill, только baseline-профиль |
| `20260811-hysteresis-smoke-v14` | baseline smoke | завершённый hysteresis; validator pass для 58 compare и 14 adapt ячеек |
| `20260811-policy-quick-v15-hysteresis` | baseline quick | adapt-only настройка policy; manifests сохранены |
| [`20260811-213422-quick`](20260811-213422-quick/README.md) | итоговый engineering quick | tune/adapt/compare/index для scalar, baseline и AVX2; manifests сохранены |
| [`20260811-large-full-12c-v1`](20260811-large-full-12c-v1/README.md) | multi-core large sweep | 100K…100M, короткий horizon и periodic steady schedule |
| [`20260811-large-n100m-512edit-12c-v2`](20260811-large-n100m-512edit-12c-v2/README.md) | seed-jittered large holdout | N=100M, 512 правок, vector + пять fixed tiered + adaptive |

В анализаторе «fixed baseline» означает reserved `std::vector`, внешние
`std::deque`/`std::list` и forced-tiered кандидаты. `deque` и `list` никогда не
являются режимами `AdaptiveSequence`; `list` предоставляет index semantics
линейным проходом O(N).

Серии v14 и v15 закрывают промежуточную проверку hysteresis и выбор policy.
Основная large-scale точка текущего handoff — `20260811-large-n100m-512edit-12c-v2`;
предыдущий общий engineering checkpoint — `20260811-213422-quick`. В нём профили запускались
последовательно в фиксированном порядке `scalar -> baseline -> avx2`, после чего
результаты были объединены. Исправленный validator для явно двухфазной трассы
проходит на 282 compare и 48 adapt ячейках.

Сохранённый финальный run остаётся quick, а не full holdout: affinity/pinning не
задавались, порядок профилей не рандомизировался, план питания — Balanced.
Cost guard пропустил часть чрезмерно дорогих индексных сценариев внешних
`deque`/`list`; эти строки не считаются ни ошибками, ни нулевым временем. Сводка
наблюдений, методика и ограничения находятся в `docs/findings.md` и README
финального run.
