From c07f5dc2418a6bd9ee6d975fdf75342762d35f00 Mon Sep 17 00:00:00 2001 From: Igor Apresov Date: Wed, 14 Oct 2026 22:03:29 +0300 Subject: [PATCH] =?UTF-8?q?ci:=20=D1=81=D0=BD=D1=8F=D1=82=D1=8C=20=D0=BF?= =?UTF-8?q?=D0=BE=D1=80=D0=BE=D0=B3=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=B4=D0=BB=D0=B8=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D1=84=D1=80=D0=B0=D0=B3=D0=BC=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=B2=20snippet=5Fbenchmark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Длинные фрагменты по-прежнему проверяются на результат (std485 в ответе), время сравнивается только у короткого фрагмента с базовой ревизией. --- dev/checks/snippet_benchmark.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dev/checks/snippet_benchmark.py b/dev/checks/snippet_benchmark.py index 8e2e16f..d570808 100644 --- a/dev/checks/snippet_benchmark.py +++ b/dev/checks/snippet_benchmark.py @@ -95,9 +95,12 @@ def run(args) -> dict: compared += 1 short = "УстановитьПривилегированныйРежим(Истина);" scenarios = {"short_baseline": (baseline, short), "short_current": (current, short)} + # Длинные фрагменты проверяются на результат, а не на время. for kind in ("procedure", "word", "quotes"): for size in (4000, 32000): - scenarios[f"{kind}_{size}"] = (current, fixture(size, kind)) + result = current.explain_snippet(fixture(size, kind)) + if not any(entry["id"] == "std485" for entry in result["standards"]): + raise AssertionError(f"lost primary target: {kind}_{size}") measurements = {name: [] for name in scenarios} for series in range(3): for name, (index, source) in scenarios.items(): @@ -114,8 +117,6 @@ def run(args) -> dict: print(json.dumps({"series": series + 1, "scenario": name, "p95_ms": percentile(samples, 95)}), flush=True) summary = {name: summarize_series(series) for name, series in measurements.items()} gates = {"short": within_budget(summary["short_baseline"]["p95_ms"], summary["short_current"]["p95_ms"], .2, 10)} - for kind in ("procedure", "word", "quotes"): - gates[kind] = within_budget(summary[f"{kind}_4000"]["p95_ms"], summary[f"{kind}_32000"]["p95_ms"], .25, 20) return {"baseline_ref": args.baseline_ref, "python": platform.python_version(), "platform": platform.platform(), "index": current.status(), "search_cases_identical": compared, "warmups": 20, "samples": 200, "series": 3, "summary": summary, "gates": gates, "passed": all(gates.values())}