我在代码中有很多验证检查,如果任何检查失败,程序将崩溃.因此所有检查都不太可能.
if( (msg = newMsg()) == (void *)0 )//this is more unlikely { panic()//crash }
所以我使用了不太可能在分支预测中提示编译器的宏.但是我没有看到这方面的改进(我有一些性能测试).我正在使用gcc4.6.3.
为什么没有改善?是因为没有其他情况吗?我应该在构建应用程序时使用任何优化标志吗?