2011-02-09 8 views
1

私はmakefileを使ってコンパイル時間を短縮しています。私は2つの質問を持っていますPARALLEL submakes

1)メインディレクトリのサブディレクトリにmakeを実行すると、完全に動作することがわかりました。それは、サブディレクトリが他のサブディレクトリから独立しており、並行して実行できることを意味しますか?

2)どのように再帰的に並行して呼び出されるsub-makesを実行するのですか? -j

+1

複数の重複(同じユーザー)。 [makeでのPARALLELの使用](http://stackoverflow.com/questions/4942991/use-of-parallel-in-make)と[並列処理を行う-jコマンド](http://stackoverflow.com/questions/) 4883066/make-parallel-processing-j-command) –

+0

質問が異なり、十分な回答が得られません。私は研究しているので、私は毎日新しい問題を抱えています! – ankit

答えて

0

最近、私はメイクファイルを簡略化しました。これは、機能を追加して処理を高速化するための前提条件です。

簡略化には、使用または再帰的なmakeを削除することが含まれます。私はビルドが2倍の速さ(40分から20分まで)であったことに驚きました。また、-jオプションを使用して速度をさらに向上させることもできました。

私はそれから、より小さな効果を持つ他のいくつかの変更を行いました。

+0

サブメイクを削除するには?私はすべてのディレクトリのmakeを実行したい。私はすべての名前を言及する必要がありますか? – ankit

+0

@ankitすべてのメイクが独立していれば、**はすべきではありません。しかし、なぜそれはスクリプトから呼び出さないのですか?私は**特に問題が私のものであった**を見ることができませんでした。私の上司は、再帰のいくつかの使用法を追加しましたが、何が問題なのかを言い表すことはできませんでしたが、リムーバーすると読みやすく、速くなりました。私は反回帰ではなく、再帰的な反回帰でしかない。手続き型ではなく宣言型にするため、再帰的な手続きは含めないでください。リ・ファクタリングにはしばらく時間がかかり、15時間かかりました。 http://miller.emu.id.au/pmiller/books/rmch/ –

+0

ありがとうございました。あなたのアドバイスは私に多くの助けをしています... :-) – ankit

関連する問題