我正在开发一个用于运行人形儿童机器人的控制器程序。操作系统是debian 6,整个程序是用C++11编写的。 CPU是1GHz VorteX86 SD,架构是Intel i486。
我需要以最大可能的优化来编译我的代码。目前我正在使用带有第三级优化标志和 i486 优化调整的 gcc:
g++ -std=c++0x -O3 -march=i486 -mtunes=i486
我想知道是否有可能获得更优化的代码。我搜索了有关优化标志和编译器基准的信息,但没有找到任何...
我的问题是哪个 C++ 编译器可以生成更快的代码?专为i486架构设计。
当前候选者是:ICC XE、GCC 4.6、EkoPath
通常可以使代码更快的选项是 -funroll-loops
请参阅文档。排列太多,无法全部测试;也许可以尝试一下 Acovea,它通过基因方法测试最好的一个。
如果您有很多浮点优化,您可以尝试
-ffast-math
或-Ofast
,其中包括-ffast-math
。但是,您将失去 IEEE 浮动数学合规性。