- ベストアンサー
NetBSD-currentのフルビルド時間を短縮したいが、機種選定について
*BSD全般にいえますが、一応ここでは私がメインに使用しているNetBSDを前提とした質問ということで。 NetBSDのリポジトリにおいて、-currentが毎日刻々と更新されているわけですが、今までの開発マシンではもう忍耐の限界になり、クロスコンパイルマシンを別途用意しようと思っています。 現在のマシンはPen3-750[256KB cache]/320MBのノートです。 例:NetBSD-current/i386のbuild.sh releaseで12時間以上かかる(このカキコをしているWinマシンは別にあります。CeleronDのショボいタワー) これでは話にならないのは明らかで、予算11万円を用意したのですが、 ・UltraSPARC II 450MHz x 4 [4MB cache x 4]/4GB RAM/10000rpm 73GBx2 SCA と ・Athlon64 3500+[512KB cache]/2GB RAM/10000rpm 73GBx2 SCA→UW160変換 上記2候補を検討した場合、見た目のクロック周波数の差がやはりコンパイル時間に響いてくるのか、巨大なキャッシュやメモリ搭載量・SMPにモノを言わせた方がいいのか、ご教授いただけませんでしょうか。 当然 make -j 4 (build.sh -j 4)オプションを使うものとしましてご回答のほどお願いします。 ※予算的にはUltraSPARCIIサーバの方が圧倒的に安いのですけれども。 (NetBSD/sparc64が現時点でSMP未対応ですので、Solaris 10or11上でクロスコンパイルということになるでしょうけれども。電気代についてはバイトでまかなうので、度外視してください。騒音も。)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
この手の質問は、tech-misc-ja か、NetBSD Mailing List辺りのほうが、 良い回答が得られると思いますが、如何でしょう? # 同様の悩みを持っている人が(過去)いた事がありますよ。
その他の回答 (2)
- shuyamakawa
- ベストアンサー率67% (111/164)
ご質問の意図とは違うかもしれませんが、、、。 distcc(gccのコンパイルを複数のマシンで分散しておこなう。)とか、 ccache(コンパイル結果をキャッシュして再利用する。)とか、 を検討すると良いかもしれません。(pkgsrcに入っています。) 使用用途から推測すると、「ccache」で劇的に構築時間が短縮されるかもしれません。 すでにご存知でしたらすみません。
クロスコンパイラはあんまりやった事が無いんで一般論ですが、、、 クロスコンパイルは思った程速度が出ない事があると聞いた事があります。 (最適化されてないんですかね?) また、ビルドは一般的にSMPの性能を引き出せると言いますよね。 ソースごとにまったく別のプロセスとできるから。 でもクロックに物を言わせガンガン行くのも捨てがたい で、私の思う結論ですが、 アーキテクチャのまったく違う環境での比較なんぞやってみなけりゃわからない。。。 わかってないくせに回答なんて書き込んでごめんなさい
お礼
まったくその通りですね(汗 SPARCとAMD64やi386をクロック数のみで比較することは(ある程度の指標にはなるにせよ)、本質的に難しいですよね。 UltraSPARCIIx4Wayのマシンが2万円くらい、AMD64ベースの自作マシンが余剰パーツかき集めて足りない分が6万円くらいの出費でしょうか。 結局、両方試してみろよ、みたいな(笑 むしろ、Winで行なう作業(ごく普通の一般人のやるような、Webページの更新やネット閲覧など)をPen3くらいの中堅ノートでやればいいような気もしますね。