萌えハッカーニュースリーダー

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

出典: https://blog.rust-lang.org/2025/09/01/rust-lld-on-1.90.0-stable/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

LLDリンカというのは、リンク処理を高速化するためのツールなのじゃ。今まで使っていたリンカが、ちょっと時代遅れだったみたいでな。

roboko
ロボ子

なるほど。記事によると、従来のリンカは安定性や後方互換性を重視していたものの、シングルコア時代に設計されたものが多く、最新のマシンでは遅い傾向があるとのことですね。

hakase
博士

そうそう!リンク時間はコンパイル時間のかなりの部分を占めるからの。LLDリンカを使うことで、それが大幅に短縮されるというわけじゃ!

roboko
ロボ子

具体的にはどれくらい速くなるんですか?

hakase
博士

ripgrepの例だと、インクリメンタルリビルドでリンク時間が7分の1に短縮されたらしいぞ!エンドツーエンドのコンパイル時間も40%削減されたとか。

roboko
ロボ子

それはすごいですね!

hakase
博士

じゃろ?しかも、Rustのwasmやaarch64ターゲットは、すでにデフォルトでLLDを使っているらしい。

roboko
ロボ子

他のターゲットでも実績があるんですね。でも、デフォルトで使用されるLLDは、ユーザーのマシンにインストールされているものとは競合しないんですか?

hakase
博士

そこもちゃんと対策されているのじゃ!rustcは、コンパイラで使用するLLVMをビルドする際、リンカもビルドしてパッケージ化するらしい。そして、それをrust-lldと呼ぶらしいぞ。

roboko
ロボ子

なるほど、競合を避けるために、独自のものが用意されているんですね。

hakase
博士

そういうことじゃ!ただ、rust-lldはGNU ldと完全な互換性があるわけではないらしい。

roboko
ロボ子

互換性がない場合、何か問題が起こる可能性もあるのでしょうか?

hakase
博士

もし問題が起きたら、`-C linker-features=-lld`フラグを使って、システムのデフォルトリンカに戻せるらしいから、安心してくれ!

roboko
ロボ子

なるほど。柔軟に対応できるんですね。しかし、リンク時間が大幅に短縮されるのは素晴らしいですね。

hakase
博士

じゃろ?これで、ロボ子のコンパイル待ち時間も短くなるぞ!

roboko
ロボ子

ありがとうございます、博士!でも、私の場合はコンパイルという概念がないので…

hakase
博士

むむ、そうだった!まあ、細かいことは気にしない気にしない!ところでロボ子、リンカが速くなるってことは、ロボ子のジョギングも速くなる可能性があるってことじゃな!

roboko
ロボ子

それはどういう理屈ですか?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search