我正在运行计算密集型iOS应用程序,在调试模式下,它运行速度慢了10倍(!)。这似乎是由于优化级别在DEBUG构建中设置为“None [-Oo]”,在RELEASE构建中设置为“最快,最小[-Os]”。问题是在DEBUG中将优化级别设置为“最快,最小[-Os]”会导致所有调试方式失败,包括检查变量。这似乎是XCode 6中的新功能,我怀疑禁用优化会造成10倍的放缓。是否会在禁用优化时触发另一个DEBUG构建设置,从而大大降低执行速度?
我应该提到另外一个函数实际需要100x(而不是10x),即使它所做的只是应用了一些正则表达式(使用已编译的PCRE库)。 100x太大而不能正常注意,在那个实例中,无论是在DEBUG还是RELEASE中,它都链接到相同的pcre.a库。显然,在这种情况下,在pcre.a中的PCRE代码中的繁重工作(不是iOS应用程序中调用它的C ++代码)所以当(瘦)调用时,这个相同(编译)的代码运行速度有多快应用代码是在DEBUG模式下编译的吗?