我一直在使用一些大型的Visual Studio C++项目,似乎花费在构建预编译头文件上的时间比单独的源文件还要多。
我已经对项目本身进行了一些更改(启用了/MP标志并设置了“工具==〉选项”中的最大作业数),构建速度似乎快了约10%,但是与同一项目的Linux版本相比,后者在指定make中的-j选项时运行速度几乎快了4-5倍。
首先,是否需要设置其他选项以利用多核系统来提高构建速度,特别是生成预编译头文件?
其次,通过启用多处理器支持,似乎无法再执行“增量构建”。如果我理解正确,每个“构建”将与完整的“重建”或“清除,构建”操作相同。是这样吗?据我所知,如果makefile编写正确,GNU makefile项目不会受到此限制,因此,像Visual Studio这样的现代且昂贵的工具遇到这样的问题似乎很奇怪。
谢谢。
我已经对项目本身进行了一些更改(启用了/MP标志并设置了“工具==〉选项”中的最大作业数),构建速度似乎快了约10%,但是与同一项目的Linux版本相比,后者在指定make中的-j选项时运行速度几乎快了4-5倍。
首先,是否需要设置其他选项以利用多核系统来提高构建速度,特别是生成预编译头文件?
其次,通过启用多处理器支持,似乎无法再执行“增量构建”。如果我理解正确,每个“构建”将与完整的“重建”或“清除,构建”操作相同。是这样吗?据我所知,如果makefile编写正确,GNU makefile项目不会受到此限制,因此,像Visual Studio这样的现代且昂贵的工具遇到这样的问题似乎很奇怪。
谢谢。