kernel/portsを最適化コンパイルする

対象プラットフォーム: FreeBSD 4.x


この記事は、既にサポートが終了したバージョンのソフトウェアについて記述しています。

はじめに

システムで標準に利用されている「gcc」のコンパイルオプションを変更することで、kernelおよびportsを特定の用途にあわせて最適化してコンパイルすることができます。
最適化の方法は、大きく分けて「実行速度」「バイナリのサイズ」の2通りです。
このページでは、この最適化コンパイルの方法について説明します。

「実行速度」の最適化

「GCC」が参照する設定ファイル「/etc/make.conf」に下記の記述を追記します。

「/etc/make.conf」への追記(実行速度最適化の場合)
CPUTYPE=i686
CFLAGS= -O2 -pipe
COPTFLAGS= -O2 -pipe

「CPUTYPE=i686」はPentium Pro以降のCPUを表しています、利用する環境にあわせ、適宜変更してください。(指定できる形式については、「man gcc」をご確認ください。)
「CFLAGS」および「COPTFLAGS」のセクションにある「-O2」は、実行時のスピードを最適化するパラメータです。
一般的にバイナリの実行速度が速くなる代わりに、バイナリサイズが大きくなります。

関数をインライン展開してより強力な実行速度最適化を行う「-03」パラメータも存在しますが、kernel内の一部のデバイスや、portsのコンパイル時に不具合を引き起こす場合があるため、お勧めできません。

「バイナリサイズ」の最適化

設定の方法は「実行速度の最適化」のときと同じで、「/etc/make.conf」に下記の記述を追記します。

「/etc/make.conf」への追記(ファイルサイズ最適化の場合)
CPUTYPE=i686
CFLAGS= -Os -pipe
COPTFLAGS= -Os -pipe

「-Os」は、生成されるバイナリファイルのサイズがより小さくなるよう、最適化を行うパラメータです。
一般的にバイナリファイルのサイズが小さくなる代わりに、実行速度が遅くなります。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。


目次に戻る
image