[解決済み] makeを-j4または-j8で使用する。
質問
私は4つのプロセッサを持っており、プロセッサを大量に消費するアプリケーションをコンパイルしています。私は
make
と共に
-j4
スイッチはOpenCVで推奨されています。
-j8
? マルチプロセッサーにするメリットは何ですか?
どのように解決するのですか?
おっしゃるとおり
-j
フラグは、指定された数の「スレッド」を生成することを許可するよう make に伝えます。各スレッドがそれぞれのコア/CPUで実行され、マルチコア/CPU環境が最大限に活用されるのが理想的です。
make
自体は、ソースファイルをコンパイルしません。コンパイラ(gcc)が行います。Makefile(の入力)は
make
) には、ターゲットのセットが含まれています。各ターゲットは、(他のターゲットへの)依存関係のセットと、ターゲットをどのように構築するかのルールを持っています。
make
は、Makefile を読み込んで、すべてのターゲット、依存関係、ビルドルールを管理します。ソースファイルをコンパイルする以外に
make
は、シェルコマンドで記述可能なあらゆるタスクを実行することができます。
スレッドの許容数を高く設定しすぎると、各スレッドを独自のコアでスケジュールすることができなくなります。すべてのスレッドを実行させるために、追加のスケジューリング(コンテキスト)スイッチが必要になります。このようなリソースの追加使用は、明らかにパフォーマンスの低下を招きます。
複数の法則があるようですが、やはり総量を
<number of cores> + 1
が最も一般的です。この背後にある考え方は、すべてのコアが自分のスレッドを持ち、ターゲットと次にビルドされるものを処理する追加の管理スレッドが1つあることです。
関連
-
[解決済み] '{'トークンの前に期待される式
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] Project Eulerとの速度比較。CとPythonとErlangとHaskellの比較
-
[解決済み] OpenCV-Pythonによる簡単な数字認識OCR
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】C言語におけるsize_tとは?
-
[解決済み】SIMPLE C++のMakefileの作り方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】単項演算子「*」の型が無効(「int」がある)C言語でのエラー
-
[解決済み】ISO C90では、C言語での宣言とコードの混在が禁止されています。
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】スレッド1:EXC_BAD_ACCESS(コード=1、アドレス=0x0)標準Cメモリ問題
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み】fgetsによるセグメンテーションフォールト(コアダンプ) - と思う。
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】int型配列へのポインタのスカラ・イニシャライザの過剰要素
-
[解決済み] テスト
-
[解決済み】Linuxソケットのwrite()でBad File Descriptorが発生するC