Rustコンパイラが2ヶ月で4.57%高速化

原題: How to speed up the Rust compiler in September 2026

なぜ重要か

Rustの採用が拡大する中でコンパイル速度の改善は開発者体験に直結し、エンタープライズ導入の障壁低下につながる重要な指標だ。

Rustコンパイラの性能改善を追うNicholas Nethercoteが2026年9月30日に報告書を公開した。2026年7月29日から9月28日の2ヶ月間で、629件のベンチマーク測定のうち555件が改善し、平均wall-time削減率は4.57%に達した。新しいborrow checker「Polonius Alpha」と新しいtrait solver「Penelope Hammertime」がNightlyで有効化されるなど、大規模な変更が相次いだ。

Rustコンパイラのパフォーマンス改善を継続的に記録しているNicholas Nethercoteが、2026年9月分の報告を公開した。対象期間は2026年7月29日から9月28日の約2ヶ月間で、629件のベンチマーク測定のうち555件が改善、74件のみが後退という結果だった。複数のベンチマークで二桁台のパーセンテージ改善が確認されており、Nethercoteはこの結果を「緑の海(a sea of green)」と表現している。

主要な改善点はいくつかある。まずClippyについては、Jakub BeránekがPR #159642でPGO(Profile-Guided Optimization)を有効化し、Clippyベンチマークの多くでwall-timeが最大18%改善した。LLVMのアップデートでは、Nikita PopovがPR #158734でコンパイラが使用するLLVMをバージョン23に更新し、全ベンチマークの平均wall-timeを1.2%削減した。

新機能面では、新しいborrow checkerである「Polonius Alpha」がNightlyで有効化された。既存のborrow checkerより精度が高く、従来は拒否されていた一部の有効なプログラムを受け入れるが、処理負荷も増す。人気crateの「serde」を含む一部のケースでコンパイル時間への影響が確認されており、Jack HueyがPR #161938で生存計算をlazy化することでserdeの命令数を3〜5%削減するなどの対応を進めている。

新しいtrait solverの「Penelope Hammertime」もNightlyで有効化された。こちらも一部のケースで速度低下が見られる。Nethercote自身もPR #160479など6件のPRで一部のcrate向けに最大50%のコンパイル時間短縮を実現した。

新貢献者のxmakroも複数のPRで顕著な成果を上げた。特殊化グラフ構築時のimpl処理最適化(PR #157281)では平均サイクル数が1.58%削減、増分コンパイルデータの読み込み最適化(PR #158059)では最大6%の命令数削減を達成した。

出典

nnethercote.github.io — 元記事を読む →