* イントロ OOoのビルドには大変リソースを必要としますが、 FreeBSDに関して、 私はメンテナンスにはPentium4 2.4GHzという四年ほど前に購入したマシンを 用いていて、大抵一回のビルドに10時間ほどかけてました。 [ここ半年ほどはエラーが起こりにくくなっています。これは Pavel Janikのto-be-SRC680_mXXXという issueたちで未然に防いでいるからです。この恩恵はFreeBSDにも MacOSXにもあるものです。それでも完全ではありませんが、 それでも、FreeBSDのissueがあるとタイムロスが大き過ぎ、人への 負担が非常に大きくなります。] さらに、リリース間際の忙しいときにはほぼ全ての時間がそれに 費されてしまいます。 Pavel Janikは http://blog.janik.cz/archives/2007/09/02/T09_56_29/ のブログで、Two quad-core Xeons 5310/1.6GHz, 4GB RAMを 紹介し、最短24分34秒を記録しています。
そこまでゆかなくとも、安価でなるべく高速化したい、 というモチベーションでOOoのビルドにかかる時間を短縮することに 挑戦してみました。 * マシン購入 秋葉原のTZONEの店員さんと お話しながら、「安価」「安定性」「高速性」のバランスの取れた マシンが欲しい、組み立ても代行してほしい、ということとしました。 予算は12万程度としました。 ** Core2 Quad Q6600 2.4GHz, G0 stepping ** GA-P35-DS4 rev.2 (それでもoverclockしているのはご愛嬌) * 結果 結果は http://porting.openoffice.org/freebsd/benchmark.html にまとまっていますが、以下抜粋です。 (without ccache) ------------------------------- OS: 6.3-PRERELEASE(20071026) CPU: Core2 Quad Q6600 @3GHz OOo:2.3.0 Time(real):1h26m28.04s Time(user): 3h15m33.47s Time(sys):31m32.93s NUMOFPROCESSES=4 ------------------------------- OS: 6.2-STABLE(20070909) CPU: Pentium 4 2.4GHz OOo: 2.3.0 Time(real):10h2m9.58s Time(user):8h24m58.39s Time(sys):1h2m4.14s NUMOFPROCESSES=1 ------------------------------- (with ccache) ------------------------------- OS: 6.3-PRERELEASE(20071026) CPU: Core2 Quad Q6600 @3GHz OOo:2.3.0 Time(real):1h12.84s Time(user):1h13m24.19s Time(sys):24m25.12s NUMOFPROCESSES=4 ------------------------------- OS: 6.2-STABLE(20070909) CPU: Pentium 4 2.4GHz OOo: 2.3.0 Time(real):4h17m47.34s Time(user):3h2m7.24s Time(sys):45m56.38s NUMOFPROCESSES=1 ------------------------------- * 議論 ** 4coreの効果 4coreの効果はかなり高いです。 [メールアドレス保護] 4h38m12.18s (1core) 1h40m43.51s (4core) となり、 2.78倍高速化となりました。 ** ccacheの効果 今までのtypicalな結果としてccacheを使うと二度めのビルドから だいたい半分弱の時間ですむようになっていました。 今回は、 1h40m43.51s->1h4m6.88sと、40%程度の短縮になりました。 短縮の内訳は、I/Oは8分の短縮、CPUのスピードは28分短縮でした。 userの使った時間は、 本来 1core total: 4h38m12.18s, 4core user 4h2m39.23s で、ほぼ同じ値となるはずですが、 no ccache: Time(user) 4h2m39.23s ccache : Time(user) 1h31m22.56s となり、コア数に比例した値にならず、性能が出ていません。 I/O性能がほぼ飽和していると考えられます。 ** overclockによるパフォーマンス向上 (明らかに間違った使い方ですが) Core2 Quad Q6600 2.4GHz/ G0steppingはオーバークロックに向いた石とされていて、 個体によっては、4GHzでも動くようです。3GHzではほぼ間違いなく使えるようで、 それも行ってみました。 overclockによる差は、ほぼクロック比となってます。2.4GHz->3GHzでは 劇的な差はありませんでした。16%ほど高速化します。FSB1333(=333x9) としています。 @3GHz: 1h26m28.04s @2.4GHz: 1h40m43.51s * 結論とさらなる高速化 高速ビルド環境をなるべく安価に構築する方法を提示しました。 従来のPentium4 の10h2m9.58sからCore2Quadで、1h26m28.04sまで 約7倍の高速化をはたしました。 メニーコアCPUはよいパフォーマンスをみせ、Core2 Quadの 4CPUのパラレルビルドの有効性を実証し、 単一コアビルドに比して2.78倍高速化されました。 さらなる高速化にはおそらくI/O、メモリ性能の向上が必要であると考えます。 I/O性能としてHDDのSATA IIの AHCIについては詳しくまだ調べていません。少しテストした段階でほぼ効果は ありませんでした。特に効果がありそうなのはNCQですが、work dirの extract/removeにはあまり効果が無かったので、劇的なパフォーマンス 向上は見込めないと考えています。 Pavel Janikのブログにある build -Px -- -Py は試しましたが有意な差を見ることはできてません。 * References http://blog.janik.cz/archives/2007/09/02/T09_56_29/ では。 -- Nakata Maho ([メールアドレス保護]) --------------------------------------------------------------------- To unsubscribe, e-mail: [メールアドレス保護] For additional commands, e-mail: [メールアドレス保護]
