Asayomu Tech
注目★★★★GitHub

GitHub の検索を 45 GiB/秒に高速化、ブランチ回避で文字大小統一を最適化

30秒で把握

  • 1GitHub がソース検索の case-folding 処理を 45 GiB/秒以上の高速化で実装完了
  • 2分岐フリーループとバイト単位演算でメモリ帯域幅を効率利用・単一コア当たりの処理能力向上
  • 3コード検索の応答時間短縮と並列スケーラビリティ改善により検索インフラの効率性が向上

要約

GitHub が code search のキャラクタ大小文字変換 (case-folding) をメモリ速度水準で実装し、単一コアで 45 GiB/秒以上のスループットを実現した。ブランチ予測失敗を回避する分岐フリーループとバイト単位の算術を組み合わせ、巨大なソースコードのすべてのバイトを高速に処理できるようにした。従来のアルゴリズムでは早期終了による分岐が性能を大きく阻害していたが、この最適化によって CPU のメモリ帯域幅ほぼ全域を利用効率化した。

あなたへの影響

この記事が日本のエンジニアに与える影響と、今日取るべきアクションは、Personal会員向けに掲載しています。

7日間無料で読む

クレカ不要・いつでも解約

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。