ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

makeコマンドのコンパイルを高速にする

    この記事は約2分で読むことができます。

makeコマンドで「-j」オプションを利用して高速に処理する

makeコマンドで「-j」のオプションを使用すると、同時に実行できるジョブ(コマンド)の数を指定できるようになります。このオプションを使用するとmakeコマンドを並列で複数、処理されるのでオプションなしより高速に処理されます

仮想マシンで実際にmakeして試してみます

Hyper-Vの仮想マシンでMySQLをMakeしてオプション無しと有りでの速度差を比較してみます。実際に作業する仮想マシンのスペックは下記のスペックです

  • CPU:AMD A8-5500 (3.2GHz,) x 2
  • メモリ:4G
  •  コンパイル対象:mysql-5.1.x

まずは、test makeで速度を測定してみます

-j2でジョブ数を2個にしてみます。速度は早くなって。半分以下です

-j2でジョブ数を4個にしてみます。速度は少し遅くなってしまいました。仮想マシンのコア数を2個なので、-j4だと実際のコア数を超えているので、早くなっているが頭打ちみたいな感じです。

test makeではなく、実際にmakeを走らせたら以下のような速度になりました。
やっぱりオプションを付けると半分以下の速度になりますね。但しオプション付きでMakeを走らせたらロードアベレージも高くなったいたので、稼働中のサーバーなら不安があるけど構築中なら問題ないと思われます。

コマンド make make -2 make -4
時間 約10分 約6分 約5分30秒

 

次回から、サーバー構築は、「-j」のオプションを使用すると構築することにしてみます

 

 

 



 - Linux , ,