【#も読】高速リンカー mold(@gorilla0513)のトップ画像

【#も読】高速リンカー mold(@gorilla0513)

投稿日時:
ゴリラのアイコン

株式会社テックリード / 代表取締役

ゴリラ

Xアカウントリンク

「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?


こんにちは。

前回の記事ではオブジェクトファイルについて紹介しました。

今回は最新の高速リンカーであるmoldについて紹介していきたいと思います。

moldとは

moldはLLVM lldのオリジナル作者の植山類氏によって開発された高速リンカーです。現存のリンカーの中でおそらく一番速いのではないかなと思います。

リポジトリのREADMEにも記載されていますが、Chromeをリンクする際はLLVM lldよりも4倍ほど速いです。

about_mold_speed.png

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を使うのがよくある手法です。

この記事のつづきを読もう
新規登録/ログインしたらできること
  • すべての記事を制限なく閲覧可能
  • 限定イベントに参加できます
  • GitHub連携でスキルを可視化
ログイン
アカウントをお持ちでない方はこちらから新規登録