distcc
distccを使ったコンパイルテスト。簡単にベンチマークをしてみた。
hdbench cloneをmakeするのにかかった時間を測定。
distcc OS CPU クロック 処理時間 Client VineLinux Crusoe 700MHz 25秒 Server Windows+Cygwin Athlon 1470MHz 10秒
timeコマンドで内訳を見てみると、
ローカルのみ
real 0m25.160s user 0m21.982s sys 0m1.369s
サーバのみ
real 0m9.834s user 0m2.797s sys 0m1.030s
ちなみにセッティングとして、
MAKEFLAGS=-j3
としている。ネットワークはクライアント100BASE-TX、サーバ1000BASE-SX。
ローカル、サーバ同時も可能なのだがセッティングが面倒なのでパス。
結果としては2.5倍高速化している。なかなか気持ちいい速度(というかCrusoeが遅すぎるとも言う)環境を作ってみた感想としてはdistccを利用するための専用ユーザを作った方がいい気がした。環境変数にCCを追加しているので、distccしたくない時も間違えてしまいそうだから。
今回の作業で参考にしたのは以下。
http://distcc.samba.org/
UNIX USER 2005 9月号 P.52〜
http://www.smalltown.ne.jp/~usata/memo/distcc.shtml
http://hp.vector.co.jp/authors/VA013651/freeSoftware/distcc_ja.html
学校で並列処理するとどうなるか、やってみたいなぁ。結構簡単に100BASE-TXの壁にぶち当たる気もするんだけど…。