ports: 対策2006年04月25日 07時28分02秒

さて、各隘路がわかったところで、対策を練る。

ネットワークは残念ながら大したことは出来ない。make fetch-recursive か portupgrade -F を使って、事前にソースを取得する以外にない。また、nfs などを使って、落としてきた物を共有したりすると、また効率が上がる。

しかし、fetch-recursive で事前に取ってこられると言っても、結局待つのには変わらない。そこで、portupgrade を一度開始するのである。portupgrade が fetch をし、少し大きめの物のコンパイルを始めたら、portupgrade -F を他のターミナルから始めるのである。それゆえ、最初に少々待ち時間があるが、それ以降はコンパイル中にソースを取ってこられるので、ネットワーク待ちはそれこそ最初に少しあるだけになる。

CPU で対策と言ったら、まず、TMPDIR を mfs に設定である。コンパイルされるものはほとんど C か C++ で書かれている。gcc は TMPDIR に一時ファイルを作るので、それをディスクに書き込まないことにより、高速化を図る。

ディスク対策は速いものに置き換えればいいだけである。5400 rpm のディスクを持っているのならば、7200 rpm のディスクに変えれば速くなるし、100000 rpm のディスクは更に速くなる。それよりも、速いのはメモリディスクだろう。何も別途、お金を出して買う必要も無いのである。充分なメモリがあれば、mdconfig -a -t swap でも、機能する。

とても一般的な話になってしまった。これでは、確かに速くはなるが、別に ports に特化したわけでもない。それでは、わざわざ uyota 流として載せる必要もない。そこで、次回には ports にのみ特化した高速化を実施する。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2006/04/25/340874/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。