Linux編譯時make -j# 應該開多少個線程

make -j#編譯時需要開多線程編譯,節省時間。j後面的數字應該爲CPU核心數的兩倍。
在這裏插入圖片描述
比如,這個電腦。8-CORe,8核心,則make -j16

一個CPU核心,就是一個大腦,一個大腦可以同時做兩件事。

這個就是英特爾公司超線程技術,CPU 內部由 ALU 和 寄存器組成,ALU 很複雜,所以可以做到兩組寄存器共享一個 ALU,在其中一個寄存器在讀取數據時(比如 cache miss 導致的多週期等待),另外一個寄存器如果有數據,就可以利用該 ALU。從邏輯上來看就像兩個核心一樣,只是說無法達到預期的 200 % 的並行率。

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