Yaourt(makepkg)の高速化
yaourt
- TOP
- Old Archives
- Yaourt(makepkg)の高速化
Manjaro
Linuxでyaourt
を用いたAURパッケージのビルドが非常に遅いので、設定を見なおしてみた。
設定ファイルは/etc/makepkg.conf
である。
CFLAGSとCXXFLAGS
実行速度のためのパラメータ。
-march=x86-64 -mtune=generic
となっているが、これは一般的なx86_64バイナリ(最適化されない)を生成する。 これを適切な値にすることで最適化されたバイナリを生成する。
通常は
-march=native
とするが、distccでは利用できない。
gcc -c -Q -march=native --help=target | grep march
とすることで最適な値を知ることができる。Xeon
W3565ではnehalem
, Godavari(A10
7870K)ではbdver3
だった。
MAKEFLAGS
並列ビルドのための値が書かれているが、コメントアウトされている。
最適な値はコア数の倍とされているが、distccではコア数が限度のようだ。
BUILDENV
!
がついているものは無効。ccacheを有効にするだけでもある程度違うか。
distcc
Arch Wikiの情報が正確で詳しい。
distccをセットアップした上で、makepkg.conf
の設定を変更する。
なお、DISTCC_HOSTS
について、Zeroconfを使う場合が色々書かれているが、単に.local
で名前解決するだけの話であれば普通にホスト名を書ける。
しかし…
-j12
でも結局ローカルとリモートの2コアしか使われていなかったようにみえて残念。