Linux编译时make -j# 应该开多少个线程

make -j#编译时需要开多线程编译,节省时间。j后面的数字应该为CPU核心数的两倍。
在这里插入图片描述
比如,这个电脑。8-CORe,8核心,则make -j16

一个CPU核心,就是一个大脑,一个大脑可以同时做两件事。

这个就是英特尔公司超线程技术,CPU 内部由 ALU 和 寄存器组成,ALU 很复杂,所以可以做到两组寄存器共享一个 ALU,在其中一个寄存器在读取数据时(比如 cache miss 导致的多周期等待),另外一个寄存器如果有数据,就可以利用该 ALU。从逻辑上来看就像两个核心一样,只是说无法达到预期的 200 % 的并行率。

©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页