lld で Rust リンク時間を改善する

今日、私は WebGPU API の実験を開始し、Rust で wgpu-rs 実装を使用することにしました。全体的なエクスペリエンスには満足していますが、1 つの問題に遭遇しました。それは、長い反復コンパイル時間です:

一部のアプリケーションでは、コンパイル時間が遅くても問題ありません。一部のハード アルゴリズムのコーディングには広範な検討が必要であり、コンパイルして単体テストに合格すれば、おそらく正しいと言えます。

対照的に、グラフィックスやゲームのプログラミングでは、イテレーション時間が最も重要です。多くの場合、問題に対する正しい答えも間違った答えもありません。代わりに、多くの小さな調整を行う必要があります。

幸いなことに、Graphics Programming Discord のユーザー (ユーザー Rukai) が解決策を提供してくれます。

私がする必要があるのは、構成ファイル ~/.cargo/config を作成することです として

[build]
rustflags = [
  "-C", "link-arg=-fuse-ld=lld",
]

このフラグは lld を設定します これは Rust のデフォルト リンカーよりもはるかに高速です。また、lld もインストールする必要があります。

そして、この単純な変更により、魔法のように反復コンパイル時間が 3 秒未満になりました。私の観点からはまだ理想的ではありませんが、少なくともこのプロジェクトをもう一度楽しむことができます。