2026 年 9 月の Rust コンパイラ高速化の仕方

2026/10/01 21:44

2026 年 9 月の Rust コンパイラ高速化の仕方

RSS: https://news.ycombinator.com/rss

要約▶

Japanese Translation:

2026年7月から9月にかけて、Rustは大きなパフォーマンスのマイルストーンを達成しました:629件のベンチマーク全体で、ウォールクロック時間の平均4.57%削減を果たし、そのうち555件の改善とわずか74件の後退です。この進歩は、LLVMをバージョン23にアップグレードしたことで1.2%の平均改善を達成し、ClippyでProfile-Guided Optimizationを有効化したことで多くのケースで最大約18%のパフォーマンス向上をもたらしました。新しいnightly機能も重要な役割を果たしています:Polonius Alphaにより効率的な Borrow Checking が可能になり(例:非同期なライフタイム解析を用いてSerdeの命令数を3〜5%削減)、Penelope は高度なトレイト解決を活性化させ、引き続きパフォーマンス向上に貢献しています。

ターゲットされたエンジニアリング作業により、いくつかのボトルネックに対処しました:Craneliftにおけるfixpointコールはデータフロー分析の変更により劇的に削減され、EverInitializedPlacesは約150万件から約9万件へと減少し、ウォールタイムを約30%節約しました。特化グラフの構築およびトレイトソルバーディスパッチ最適化によりさらにコンパイルコストが低下しました。match-stressベンチマークでは命令数が最大17%削減され、複数の個人コントリビューターによるPRで外れ値を持つcratesのコンパイル時間が15〜25%削減され、一部の改善では最高50%に達しました。その他の成果にはスタックサイズのデフォルト調整、インライン化の微調整、増分コンパイルにおけるデータ読み込みの最適化、そして予期せず命令数を削減したASTからHIRへのクリーンアップなどが含まれます。

歴史的なロールアッププルリクエストが、CIキャパシティ制限により止まっていた4件の遅延パフォーマンス改善をようやくマージしました。これらの変更は合わせて、Rustビルドエコシステム全体で即時かつ実用的なスピードアップをもたらします。待ち時間を短縮し、幅広いプロジェクトの開発サイクルを加速させます。

本文

Rust コンパイラのパフォーマンス:2 ヶ月で達成された驚異的な改善

Rust コンパイラのパフォーマンスに関する最新の進捗をまとめました。前回から 2 ヶ月(2026 年 7 月 29 日 - 9 月 28 日)の測定結果により、**平均ウォールクロック時間の短縮率は 4.57%に達しました。計 629 のベンチマークのうち、改善されたのは 555 件で、退歩したのはわずか 74 件のみです。多数のベンチマークで 2 桁以上の高速化が実現しており、専門用語ではこれを「緑色の海」**と呼びます。

📈 rustdoc の高速化

Noah Lev 氏による画期的な手法の詳細が新たに解説されました。非常に読み応えのある内容です。

⚡ Clippy の大幅改善

Jakub Beránek 氏が Clippy に PGO(プロファイル導く最適化)を適用し、大部分のベンチマークでウォールクロック時間の短縮を実現しました。

  • 最良の場合:なんと 18% の短縮

🦙 LLVM バージョンアップによる速度向上

Nikita Popov 氏がコンパイラに使用する LLVM をバージョン 23 にアップグレードしました。

  • 平均ウォールクロック時間の短縮率:1.2%
  • 単一の PR でも印象的な成果であり、LLVM チームへの感謝を申し上げます。

🔒 新しい借用チェック子(Polonius Alpha)

新しい借用チェック子「Polonius Alpha」が Nightly 版で有効化されました。

  • 精度向上: 既存のものより高く、以前却下されていた正当なプログラムも受け入れます。
  • 課題: 計算量が増え、
    serde
    クレートなどでコンパイル時間に影響が出ることがあります。
  • 解決への取り組み(Jack Huey 氏):
    • live
      の計算を遅延評価化し、
      serde
      で命令数を 3〜5%、他ベンチマークで 1% 未満削減(PR #161938)。
    • データ構造の見直しとインライン処理の微調整により、多数のベンチマークで命令数削減を実現(PR #163027)。

残りの退歩の改善には作業が必要ですが、「緑色の海」がこの程度の欠陥に隠れ込むほど、多くの他への改善が蓄積されています。

🍍 新しい特徴求解器(Trait Solver)

新しい特徴求解器「Pineapple Häagen-Dazs」も Nightly 版で有効化されました。

  • 状況: 借用チェック子と同様に、一部のケースでは遅延が見られます。
  • Jana Dönszelmann 氏による詳細な投稿: パフォーマンス改善に向けた取り組みについて解説しています。
  • 私の貢献(PR: #160479, #160605, #160801, #160892, #161077, #161211):
    • 特定のアウトライヤー(例外に遅い)クレータのコンパイル時間を劇的に短縮。
      • **50%、25%、15%**の削減を実現し、あるストレステストではそれ以上に改善しました。

🛠️ xmakro の貢献による改善

新貢献者の xmakro 氏が再び素晴らしい改善をもたらしました。

  • PR #157281:
    specialization
    グラフ構築における
    impl
    の処理を最適化。
    • 全てのベンチマークで平均サイクル数を削減(1.58%)。単一 PR で驚くべき成果です。
  • PR #158059: インクリメンタルコンパイルデータの読み込みを最適化。
    • 最良の場合、命令数削減6%。
  • PR #160473: ホットなパスにおける配列回避処理。
    • 多数のベンチマークで命令数削減(最良の場合、2%)。
  • PR #160268: 古い/新しい求解器選択コードを静的ディスパッチへ移行。
    • 明らかな非効率性の修正により、多くの配列回避を実現(主に 1% 未満の削減)。
    • ※以前
      #[inline]
      の配置場所の違いで退步を引き起こしていましたが、これを解消しました。

🔄 データフロー解析(Dataflow Analysis)の効率化

  • PR #160193: CFG トルザアルゴリズムを変更し、固定点への到達速度を向上。
    • cranelift-codegen
      クレートで
      apply_effects_in_block
      の呼び出し回数を 150 万回 → 9 万回へ削減。
    • このクレータのチェックビルドにおいて、ウォールクロック時間を約**30%**短縮。
  • PR #160033:
    EverInitializedPlaces
    を再度効率化(不要なデータの追跡を排除)。
    • match-stress
      で命令数削減17%、他ベンチマークで 1% 未満削減。

🤖 LLM の活用

特定種類の解析において LLM(大規模言語モデル)の能力が高まってきました。

  • 依然として全てのコードとテキストを独自に作成していますが、今回のいくつかの PR でLLM の解析支援が有益に活用されました。

🔧 その他の項目(Miscellaneous)

  • PR #160535: デフォルトスタックサイズ増加による
    ensure_sufficient_stack
    の撤廃。
    • 多くのベンチマークで命令数削減(最良の場合、ほぼ3%)。
  • PR ロールアップ戦略(Rollup):
    • パフォーマンス改善待ちの PR が多数あるため、Jonathan Brouwer 氏による「10 つのパフォーマンス改善 PR を含む rollup」(PR #160506)を作成。
    • その後の PR #162859 で、4 つのパフォーマンス改善 PR を含むロールアップも作成されました。
    • マージ後、個々の PR の効果を個別に検証可能であり、予期せぬ効果の混入を防止しています。
  • PR #162747: AST から HIR への降下処理のクリーンアップ。
    • パフォーマンス意図虽是なしでしたが、多くのベンチマークで命令数削減(最良の場合、1.5%)を実現しました。

💼 勤務状況の変更

明日より、Hexcat 社においてコンパイラのパフォーマンス最適化プロジェクトのために勤務を開始します!

  • Mara Bos 氏、Predrag Gruevski 氏をはじめ、この実現に尽力くださったすべての方に心から感謝申し上げます。

※編集者注: 新しい求解器の正式名称は「Pineapple Häagen-Dazs」です。以前の"Pineapple Häagen-Dazs"ではなく、ここでは正式名称を使用しています(※元の文章の冗談要素を考慮し、正確な名称として記述)。

同じ日のほかのニュース

一覧に戻る →

2026/10/02 4:33

Pi 1.0

## 日本語翻訳: Pi 1.0 のリリースは、機能の急速な拡張よりも安定性を優先する点において、そのエージェントハネスにおける顕著な進化を表しています。すべての最新技術を即時に採用する代わりに、このバージョンでは既存のシステム制約に対して堅牢性が証明された後にのみ変更を統合することに焦点を当てています。この「強化された」アプローチにより、ソフトウェアは不必要な複雑性を持たずに簡潔かつ拡張可能であるように保たれます。新機能には、Model Context Protocol (MCP) へのネイティブ対応、Jev や画像モデルといった大型言語モデル以外との互換性、遅延ツールロード、会話中のシステムメッセージが含まれます。ユーザーエクスペリエンスの向上のために、インターフェースも新しいテーマとデフォルトのフルスクリーンモードで強化されました。何十万もの週次ユーザーからのフィードバックに基づき開発が進められた本プロジェクトは、MIT ライセンスの下でオープンソースとして存続しています。今後の展望として、実験的な「Pi Durable」パッケージでは、ミニマリズムを維持しながら長期的な AI タスクの管理機能を備えています。これにより、ユーザーは異なるプラットフォーム上で、より長期間にわたって基盤となる AI を自在に操作・制御することが可能になります。Pi 1.0 のインストールは `curl` または PowerShell コマンドによるものが利用でき、Pi Durable については `npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord` を実行する必要があります。両方とも pi.dev でドキュメントが提供され、github.com/earendil-works/pi にコードが公開されています。Codemode の機能には、Claude Opus、GPT、Jev などの特定モデルを使用してコミットのサマリーを記述するスクリプトや、自作拡張の記述などが含まれます。

2026/10/02 6:07

Web 開発教育の死

## Japanese Translation: 生成 AI は、エコシステムを破壊することで Web 開発者、教育者、出版社の経済的健全性を根底から覆している。Baldur Bjarnason や Axel Rauschamayer のような著者および出版社は収入が急落し、事業の閉鎖に追い込まれている。特に Rauschamayer は 2026 年に書籍からの収益がゼロとなり、AI クローラーが彼の作品を盗みながら広告収益を生み出さなかったため、コンテンツをオフラインに移すことを余儀なくされた。同様に、Web 開発者の教育者である Josh W. Comeau や Kyle Cook も、LLM がタスクを自動化し仕事を吸収したことで Comeau の収益は半分になり、Cook は深層技術チュートリアルから AI モデルに関する浅く簡単に制作される動画への視聴者のシフトにより半分もの視聴数を失ったと報告している。 この危機は財務面のみならず、Salma Alam-Naylor のような専門家の中で深刻なバーンアウトと不安を引き起こしており、彼女のスキルや共感力が業界で貶められたため、一般に露出の少ない低給の役割を受け入れた。この変化は高品質な教育を脅かしており、開発者は学習のためにエラーが発生しやすいチャットボートに頼る傾向が強まっている一方、Rachel Andrew は GenAI が主題領域の専門家と編集者の間の重要な関係性を損ない、生産性の負担を読者に押し付けるだけであり、根本原因を解決したり実際の効率を高めたりしていないと主張している。究極的には、現在のトレンドは真実の人間の協働よりも短期的利益を優先している。

2026/10/02 1:18

Clef:オープンソースの意思決定モデルと新しい強化学習ファインチューニングプラットフォーム

## Japanese Translation: Cloudflare は、Apache 2.0 ライセンスの下で Workers AI 上にホストされる 2 つの新しい決定モデル、Clef および Clef-flash を発売します。これらのモデルは、標準的な大規模言語モデル(LLM)がしばしば予測不可能なテキストを生成するのと鮮明な対比をなすように、低コストで一貫性があり、厳格に型付けされた構造化された出力を提供します。Qwen アーキテクチャに基づいて構築されており(Clef は Qwen3.8-27B、Clef-flash は Qwen3.5-9B)、画像分類のためにビジョンエンコーダーで強化され、非自己回帰的処理を利用して推論速度を高速化しています—Cloudflare の一般 LLM gpt-oss-120b と比較して、脅威インテリジェンスタスクにおいて 2 倍のレイテンシ削減を示しました。現在 Jev Decision Index ベンチマークで最高スコアを得ており(BFCL ケース exact ベンチマークで 98.47 のほぼ完璧なスコア)、Clef は他のモデルである Jev および Kev 9B を凌ぐような大きな性能向上を提供しています。両モデルとも 64k コンテキストウィンドウを備えており(Jev と比較して 32k)、データが保存されることも、トレーニングに使用されることもないというエンタープライズ対応の保証をサポートします。AI Gateway および Workers AI といった Cloudflare の既存インフラストラクチャを活用し、これらのツールはすでにドメイン分類およびサポートトラージングのための内部運用を動力付けています。このリリースは、Cloudflare の「エージェントクラウド」ミッションを実現するために高速分類器向けニッチ市場への戦略的参入を意味し、新しい強化学習製品および Forward-Deployed Engineer サービスを通じた微調整のためのさらなる機能を提供します。

2026 年 9 月の Rust コンパイラ高速化の仕方 | そっか~ニュース