Okamžik
Číslo se rok cituje na třech místech. Někdo se je konečně pokusí reprodukovat a dostane něco o 40 % jiného. Nikdo neumí říct, zda se změnil systém, stroj, nebo zda se původní měření provedlo jinak — protože nic z toho se s číslem nezaznamenalo.
Proč k tomu dochází
Číslo se snadno zapíše a jeho podmínky ne, takže číslo putuje a podmínky zůstávají pozadu. Ve chvíli, kdy se objeví ve druhém dokumentu, ztratilo poslední zbytek kontextu a od té doby se cituje, ne měří.
Proč to lepší model nevyřeší
Na měření nebylo nic úvahového. Podmínky existovaly a nebyly zachyceny; žádná pozdější analýza je nemůže obnovit.
Co to stojí
Rozhodnutí učiněná na čísle, které znamená něco jiného, než si všichni myslí. A konkrétní plýtvání opětovným měřením, o jehož nutnosti se zjistí, až když si výsledek nakonec veřejně odporuje.
Co Majordomus dělá
Tvrzení o výkonu jmenuje měření a měření se porovnává s baseline, která je sledovaným souborem, který zapsal běh — jeden na platformu, protože údaj z notebooku nemůže vyvrátit údaj z runneru. Vzorkování a prahy regrese jsou data vedle něj, takže práh se mění záměrně, ne ladí, dokud kontrola neprojde. Jinde důkazy dodržují stejnou disciplínu: plan evidence odmítá vyprávění a vyžaduje příkaz nebo artefakt a výsledek zaznamenává s commitem. Epizoda provádění zaznamenává, pod čím běžela.
Před a po
before "about 40ms" (which machine? which build? which input?)
after .ai/repo/benchmarks/rust/baseline.macos-aarch64-debug.json
written by: majordomus bench baseline update (refuses a dirty tree)
compared by: majordomus bench --check (policy.yaml thresholds)Co nedělá
Neučiní měření smysluplným a baseline zaznamenaný na hlučném stroji je hlučný baseline. Odmítne číslo, které žádný běh nevytvořil, a odmítne zaznamenat číslo ze špinavého stromu.