【linux編譯】make -j 參數簡介

本文轉自:https://blog.csdn.net/jirryzhang/article/details/74910242

make -j

在Linux編譯程序的時候,IO往往不是瓶頸,那CPU就應該是一個影響編譯速度的重要因素了。

用make -j帶一個參數,可以把項目在進行並行編譯,比如在一臺雙核的機器上,完全可以用make -j4,讓make最多允許4個編譯命令同時執行,這樣可以更有效的利用CPU資源。

還是用Kernel來測試:

用make: 40分16秒

用make -j4:23分16秒

用make -j8:22分59秒

由此看來,在多核CPU上,適當的進行並行編譯還是可以明顯提高編譯速度的。但並行的任務不宜太多,一般是以CPU的核心數目的兩倍爲宜。

不過這個方案不是完全沒有cost的,如果項目的Makefile不規範,沒有正確的設置好依賴關係,並行編譯的結果就是編譯不能正常進行。如果依賴關係設置過於保守,則可能本身編譯的可並行度就下降了,也不能取得最佳的效果。
---------------------  
作者:jirryzhang  
來源:CSDN  
原文:https://blog.csdn.net/jirryzhang/article/details/74910242  
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章