中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

优化编译选项,提升程序性能

原理

C/C++代码在编译时,GCC编译器将源码翻译成CPU可识别的指令序列,写入可执行程序的二进制文件中。CPU在执行指令时,通常采用流水线的方式并行执行指令,以提高性能,因此指令执行顺序的编排将对流水线执行效率有很大影响。通常在指令流水线中要考虑:执行指令计算的硬件资源数量、不同指令的执行周期、指令间的数据依赖等等因素。我们可以通过通知编译器,程序所运行的目标平台(CPU)指令集、流水线,来获取更好的指令序列编排。在GCC 9.1.0版本,支持了鲲鹏处理器所兼容的ARMv8指令集、tsv110流水线。

修改方式

  • 在Euler系统中使用HCC编译器,可以在CFLAGS和CPPFLAGS里面增加编译选项:
    -mtune=tsv110 -march=armv8-a
  • 在其它操作系统中,可以升级GCC版本到9.1.0,并在CFLAGS和CPPFLAGS里面增加编译选项:
    -mtune=tsv110 -march=armv8-a
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词