🐦

[Bevy] 速くコンパイルするためのCargo.tomlのスニペット

2025/01/24に公開

Bevyプロジェクトを最初にコンパイルするとき、時間がかかるので公式でコンパイル時間を最適化する方法が様々書かれています。

Windowsであれば以下のようにすると速くなります。

Cargo.toml
[package]
name = "test1"
version = "0.1.0"
edition = "2021"

[dependencies]
bevy = "0.15.1"

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3

LLDというリンカーを使うとより高速になるそうです。
LLDをインストールします。

cargo install -f cargo-binutils
rustup component add llvm-tools-preview

次にLLDをリンカーとして使用するための設定をします。
Cargo.tomlと同じディレクトリに.cargoフォルダを作成し、その中にconfig.tomlを作成し、以下のように記述します。

.cargo/config.toml
[target.x86_64-pc-windows-msvc]
linker = "rust-lld.exe"

他にもmoldというリンカもあります。5倍の速さだそうです。すごいですね。Window環境だと使えないみたいです。

ビルドするときにダイナミックリンクにすることでより高速になります。

cargo run --features bevy/dynamic_linking

featureに動的リンクを追加することでいちいち上記のようにfeatureフラグを付ける必要がなくなります。

cargo.toml
[package]
name = "test"
version = "0.1.0"
edition = "2021"

[dependencies]
bevy = { version = "0.15.1", features = ["dynamic_linking"] }

[profile.dev]
opt-level = 1

[profile.dev.package."*"]
opt-level = 3

Discussion