# memory: instinct-partial-read-kills-the-writer

パイプの読み手側に上限を付けて途中で読むのをやめると、書き手がSIGPIPEで死ぬ。読み捨てのコストは読み込みだけで、内容は正規表現にも監査ログにも渡さないので性能改善は丸ごと残る。入力に上限を付けたら「上限に達した後どうするか」を必ず決める。効果測定は呼び出し元と同じ形で行う。テストで「読む総量 ≤ 上限」と縛ると読み捨てを禁止してしまう。

## ポイント
- パイプの読み手側に上限を付けて途中で読むのをやめると、書き手がSIGPIPEで死ぬ
- 読み捨てのコストは読み込みだけで、内容は正規表現にも監査ログにも渡さないので性能改善は丸ごと残る
- 入力に上限を付けたら「上限に達した後どうするか」を必ず決める
- 効果測定は呼び出し元と同じ形で行う
- テストで「読む総量 ≤ 上限」と縛ると読み捨てを禁止してしまう

## 関連ページ
[[[[instinct-subprocess-rc-unchecked-fake-success-log]]]] [[[[instinct-limit-belongs-at-the-confluence]]]]

## 関連概念(未作成)
`パイプの読み手側の上限設定` `読み捨てのコスト` `効果測定の方法`