よんだものWeekly 4月 5th
- The Last Line Effect | Intel® Developer Zone
- コピペしたコードの最後の一行の修正間違いとか。わかりすぎてつらい。
- why GNU grep is fast
- 2010年のFreeBSDのMLへの投稿
- BSD grep に対してなぜ GNU grep が高速であるかを説明している
- 基本は、Boyer-Mooreのアルゴリズムを使って、さらにループアンローリングによって1文字の検査にかける命令数を減らす、というわりと王道中の王道
- buffered I/O を使わず、I/Oのシステムコールを直に呼んでユーザランドへのデータコピーを抑える
- 入力を行ごとに分解することはせず、マッチする文字があったら初めて改行文字を探して行データの抽出を行う
- アラインメントに気を使ったり、readではなくmmapを使うなど、カーネル自身のデータコピーも抑える
- "The key to making programs fast is to make them do practically nothing. ;-)"
- dullgiulio/pingo
- Concurrency is not parallelism - The Go Blog
- Thinking About Performance | Chad Austin
- 「プログラムが動くようになってから、プロファイルして、ホットスポットを高速化する」という一般に言われる性能最適化ではうまくいかない場合がある
- 設計時にクリティカルなコードパスの性能(とくにレイテンシ)も込みで設計することが大事、という話