distccを使ったクロスコンパイルの効果
先日 distcc と crossdev を使ってクロスコンパイル環境を作成しましたが、早速 OpenOffice.org を emerge してみたので、その効果の程を載せておきます。
こちらの環境はこんな感じです。
emerge をするマシン
Model | DELL Inspiron 4150 |
---|---|
CPU | Pen4 Mobile 1.60GHz (1core) |
MEM | 256MB |
KERNEL | 2.6.31-gentoo-r10 (i686) |
コンパイルさせるマシン
Model | Windows7-64bit 上の Virtualbox |
---|---|
CPU | Core i7 860 @ 2.80GHz (4CPU) |
MEM | 750MB |
KERNEL | 2.6.31-gentoo-r10 (x86_64) |
emerge にかかった時間を表示するソフトは app-portage/splat や app-portage/genlop が用意されていますので、それらを使うといいです。興味がある人は emerge で入れてみてください。
splat で表示してみます。
$ splat openoffice * app-office/openoffice-3.1.1 Emerged at: 土 10月 31 22:24:22 2009 Build time: 1 day, 1 hour, 59 minutes, and 15 seconds * app-office/openoffice-3.2.0 Emerged at: 金 3月 19 02:13:44 2010 Build time: 3 hours, 28 minutes, and 11 seconds
genlop で表示してみます。
$ genlop -t openoffice * app-office/openoffice Mon Nov 2 00:23:37 2009 >>> app-office/openoffice-3.1.1 merge time: 1 day, 1 hour, 59 minutes and 15 seconds. Fri Mar 19 05:41:55 2010 >>> app-office/openoffice-3.2.0 merge time: 3 hours, 28 minutes and 11 seconds.
- バージョン 3.1.1
- 以前 DELL のマシンで単体コンパイルを行ったときのもの。1日と1時間59分15秒…。
- バージョン 3.2.0
- 今回の環境でクロスコンパイルを行ったもの。3時間28分11秒。
結構な差がありますね。
バージョンこそ 3.1.1 と 3.2.0 で異なっているため単純には比較できませんが、それでも7倍強の速度が出ており、効果は絶大だと言うことがわかります。今回は Virtualbox 上に作った環境に投げていますが、 Gentoo amd64 を動かしている実機に投げたらもっと速いかも。もっとも、 gcc を使う部分だけしか速くならないので大差ないかもしれませんが…。
ちなみに、Core i7 な実機 (物理 4core&HT) にインストールした Gentoo amd64 上で ooo を emerge した場合、1時間かかりません。オプションやらメモリ容量やらディスク速度やらも全然違うのですけど、いやはや、技術の進歩は本当にすごいですね。