我的CPU中有2个内核。如果指定--jobs=4
,SCons的构建会变慢吗?我问的原因是因为Python 2 runs slower on multiple cores。
实际上我正在考虑将--jobs=4
添加到我的所有项目中作为默认值。
如果答案是平台相关的,则编译器是GCC,平台是Windows。
答案 0 :(得分:1)
一般来说,使用scons -j#构建将比连续构建更快。
您发布的链接适用于运行纯Python代码。但是,因为在SCons构建中花费的大部分时间都在等待外部工具完成(编译,链接等)基准不适用。
如果你有一堆没有I / O并且是纯python的构建器,那么它可能会产生一些影响。
一般来说,在构建软件的时候你会看到近乎线性的加速(处理SConscripts和构建当前不受-j影响的依赖树花费了一些时间),直到你让我饱和为止您正在运行的文件系统的/ O和/或具有-j#,这大大超过了您可用的核心数。
我们可能在邮件列表中有一些基准。
请注意,-j特别不会对null产生任何影响(由于所有文件都是最新的,因此无需构建任何内容),对增量构建的影响较小,只需要构建少量文件(由于上述问题)。