我一直认为Debug版本比Release版本慢,因为编译器需要另外生成调试器信息.我最近惊讶地听到我的一位同事说发布版本通常需要更多时间.(我相信这只是因为增量链接/编译).
一般来说,哪两个更快?
好吧,有很多变量可能会影响事情.以下是Debug可能更快的一些原因:
通常,调试模式的优化要少得多,因为那些可能会破坏指令和代码行之间的映射.因此,编译器在那里做的工作较少.
即使完整的调试版本较慢,Debug构建也会经常发生,并且通常可以比Release版本更多地利用增量构建.因此,Debug构建通常不需要像Release构建那样做很多工作.