いくつかのオンラインガイドに従って、UbuntuにOpenCVをインストールしようとしています。ガイドの一人はこれ。次の行があります。
make -j $(($(nproc) + 1))
nproc
システムで使用可能なプロセッサ/スレッドの数を返します。それでは、すでに利用可能なキーよりもキーが大きい場合、どのような利点がありますか?
答え1
ほとんどのビルドはCPUバインディングではなくI / Oバインディングなので、始めるのにnproc
最適な場所はwhileです。-jを作成するために渡されるオプションの最大数を決定する方法は?)、ほとんどのビルドではより多くを使用できます。これは、小さな仮想マシン(ビルドファームでよく見られる)でビルドする場合に特に当てはまります。ここでは、または-j 1
を-j 2
使用すると、通常、次のものよりもビルド時間が短縮されます。サーバーで見つかったスレッド数が多いだけでなく、8スレッドシステムでも問題を引き起こす可能性がある式に関連するリスクがあります。-j 2
-j 3
$(nproc) * 2