.png&w=3840&q=75)
【#も読】高速リンカー mold(@gorilla0513)
投稿日時:
「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?
こんにちは。
前回の記事ではオブジェクトファイルについて紹介しました。
今回は最新の高速リンカーであるmoldについて紹介していきたいと思います。
moldとは
moldはLLVM lldのオリジナル作者の植山類氏によって開発された高速リンカーです。現存のリンカーの中でおそらく一番速いのではないかなと思います。
リポジトリのREADMEにも記載されていますが、Chromeをリンクする際はLLVM lldよりも4倍ほど速いです。

moldは既存のリンカーを簡単に置き換えれるようになっていて、たとえばRustの場合は.cargo/config.tomlに以下の様に記述するだけです。
[target.'cfg(target_os = "linux")']
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=/path/to/mold"]
また、actionsも用意されているのでCIにmoldを組み込むのも簡単です。
rui314/setup-mold: A GitHub Action to install the mold linker
余談ですが、Rustはビルド時間の長さに課題があって、高速化の手段としてmoldを使うのがよくある手法です。