# memory: instinct-perf-guard-must-fail-fast

性能退行を防ぐテストは「赤くなるまでの時間」も設計対象。病的入力を大きく取ると、ガード自身がCIを数分~数十分止める。正規表現の二乗性を止める回帰テストで、上限を外した実装が赤くなるまで1本あたり226秒かかった。入力を72KBに絞ると分離はむしろ鮮明になった。閾値5秒なら、正常時は38倍の余裕があり、退行時は24秒で赤くなる。

## ポイント
- 性能テストの設計変数は「入力サイズ・閾値・赤くなるまでの時間」の3つ
- 二乗の系では入力を半分にすると退行側の時間は1/4に、正常側は1/2にしか減らない
- 大きい入力は「厳しいテスト」ではなく、ただ遅いテスト
- 病的入力は分離できる最小サイズまで縮める
- 閾値は絶対値で置く
- 正常時の実測とのマージンをdocstringに数字で書く
- ガードを入れたら「赤くなるまでの時間」も測る

## 関連ページ
[[instinct-timing-ratio-tests-flake-under-contention]] [[instinct-oscillating-filter-means-wrong-axis]] [[instinct-caller-timeout-vs-callee-llm-budget]]

## 関連概念(未作成)
`性能テストの設計変数` `回帰テストの最適化` `CIの効率化`