使用GPO(Profile-Guided Optimization)优化程序
Intel编译器支持GPO(Profile-Guided Optimization)。GPO由一下三步组成。
第一步:使用/Qprof-gen编译程序,产生能记录运行细节的特殊程序。(Compile source with prof-gen or prof-genx options)
第二步:运行第一步产生的程序,生成动态信息文件(.dyn)。(Run the Instrumented Executable one or more times)
第三步,使用/Qprof-use,结合动态信息文件重新编译程序,产生更优化的程序。(Compile with prof-use option)
通过使用GPO,Intel编译器可以更详细得了解程序的运行情况,从而根据实际情况产生更优化的代码。比如优化条件跳转,使得CPU分支预测的能力更准确,又如决定哪些函数需要内联,哪些不要内联等。
此外,基于GPO还有很多的工具方便用户开发程序。比如Code-Coverage Tool可以进行代码覆盖测试。