[英]Faster builds by turning off all warnings?
我目前正在使用Visual Studio进行工作构建。 假设我对任何可能的警告都不感兴趣-警告和错误将在具有不同团队的不同存储库中进行处理,等等。我只需要获取代码,尽快构建并运行即可。
如果所有警告都关闭,会更快吗?
在Visual Studio中,这是Off: Turn Off All Warnings (/W0)
我认为GCC和其他编译器也有类似的选择。
我想知道这已经有一段时间了,却找不到任何人问同样的问题。 或者,搜索字符串中总是发现其他带有“警告”的问题。 我以为我会问,以防其他人对此感到好奇。
编辑:我想到也许其他人可能会认为这是一个愚蠢的问题。 我认为关闭警告可能会加快构建时间,原因可能是它会阻止某些警告检查编译代码运行,从而节省时间。 但是,如果始终总是在幕后检查警告,并且只是警告级别的不同而已,它们的打印方式就不会增加多少, 除非您有无数次警告 。
是的,因为编译器不必执行打印,所以关闭警告将加快构建过程。 打印(显示文本)需要时间。
OP的问题是:带警告的打印与不带警告的打印之间的时间差异可以忽略吗?
恕我直言,除非速度相差数十分钟,否则我发现打印警告是一件好事。 白天,任何不到十分钟的时间节省都会被意料之外的会议,与同事的意料之外的会议或其他开销所浪费。
但是,通过加快构建过程,忽略警告的成本可能会高于任何获利收益。
既然您提到了gcc,gcc减少编译时间的正确方法是使用-MMD -MP开关生成(和使用)依赖文件,因此跳过了不必要的重新编译。
对于Visual Studio,下一个最好的事情是启用增量构建,但是请记住,有时它会无缘无故地混乱起来。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.