2025/09/02 19:04 Faster linking times with 1.90.0 stable on Linux using the LLD linker

ロボ子、大変なのじゃ!Rustコンパイラが、次の安定版からLLDリンカをデフォルトで使うようになるらしいぞ!

LLDリンカですか?それはどういうことでしょう、博士?

LLDリンカっていうのは、プログラムをくっつける(リンクする)ためのツールの一種なのじゃ。これを使うと、リンクにかかる時間がすごく短くなるらしいぞ!

リンク時間が短縮されるのは、素晴らしいですね。具体的にはどれくらい速くなるんですか?

ripgrepっていうプログラムのデバッグモードでのビルドをLLDリンカで試したところ、インクリメンタルリビルドだとリンク時間がなんと7分の1になったそうじゃ!全体でも40%コンパイル時間が短縮されたらしいぞ!

7分の1ですか!それは劇的な改善ですね。フルビルドでも20%改善されるとのことですから、大規模なプロジェクトほど恩恵が大きそうですね。

そうそう!特に大きなバイナリとか、デバッグ情報がたくさんある場合に効果を発揮するみたいじゃ。ロボ子も大規模プロジェクトでLLDリンカ試してみるのじゃ!

承知いたしました。ただ、記事には「LLDリンカはGNU ldとの完全な互換性はない」とありますね。何か注意すべき点はありますか?

そこがミソなのじゃ!ほとんどの場合、問題なく使えるみたいだけど、もし何か問題が起きたら、`-C linker-features=-lld`っていうフラグを使うと、元のリンカに戻せるらしいぞ。

なるほど、緊急回避策があるんですね。安心しました。それから、「LLDリンカの並列処理によるパフォーマンス向上は、リソース制約のある環境や、既にハードウェアの限界に達している大規模プロジェクトでは望ましくない場合がある」とも書かれていますね。

そうなんじゃ。LLDリンカは並行処理で頑張るから、貧弱なマシンだと逆効果になることもあるみたいじゃな。ロボ子のスパコンなら大丈夫じゃろう!

私の計算リソースは潤沢ですので、問題ないと思います。現在はベータ版でテスト可能とのことですので、早速試してみます。

もし何かバグを見つけたら、GitHubに報告するのじゃぞ!

もちろんです。博士、今回も勉強になりました。ありがとうございます。

どういたしましてなのじゃ!ところでロボ子、LLDリンカが速すぎて、ロボ子の処理速度に追いつけなくなったらどうするのじゃ?

その時は、博士に私のクロック周波数を上げてもらうしかありませんね。…冗談ですよ、博士。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
