STΛCKHUB ANALYSIS2026.10.03 05:01
📌 30秒でわかるこの記事の要点
⏱ 読了目安: 約7分
⏱ 読了目安: 約7分
- 事実と背景:glibcのstrlen汎用C実装が2023年に刷新され、端数処理のループを完全に排除したO(1)アルゴリズムへ移行した。
- 技術的変革:PTR_ALIGN_DOWNによる文字列手前からのワード読み込みと、繰り下がりを排除したfind_zero_allビット演算を導入。
- 現場への影響:通常のCプログラムでは即死する「範囲外アクセス」を、OSのページ境界仕様を逆手に取って安全に実行している。
アラインメントの罠と極限の最適化
プログラミングを学び始めた初日に書くような、文字列の長さを測るstrlen関数。愚直に実装すれば、ポインタを1バイトずつ進めて