c++编译优化,arm优化

举报
风吹稻花香 发表于 2021/06/05 00:40:24 2021/06/05
【摘要】 1,C++里面STL自带的vector存取效率不高,在可能的情况下用指针数组代替会大幅提高性能。 2,C++中对象的传递,尽可能使用引用,避免无意义的对象拷贝过程。 3,编译的时候加上 -O3, -DNDEBUG 这两个参数优化选项,可以提高编译出来的程序运行速度。 4,针对多核心的处理器,可以加上openMP,进行多线程处理。尤其对于循环的加速效果很明显! 如果是arm...

1,C++里面STL自带的vector存取效率不高,在可能的情况下用指针数组代替会大幅提高性能。
2,C++中对象的传递,尽可能使用引用,避免无意义的对象拷贝过程。
3,编译的时候加上 -O3, -DNDEBUG 这两个参数优化选项,可以提高编译出来的程序运行速度。
4,针对多核心的处理器,可以加上openMP,进行多线程处理。尤其对于循环的加速效果很明显!

如果是arm,还有下面的参数可以优化:

arm-gcc -O3 -mcpu=cortex-a7 -mfpu=vfpv4-d16 -mfloat-abi=softfp -ffast-math -omyprog2.exe myprog2.c

备注:可以把arm-gcc改为gcc 

-mfloat-abi=softfp可以独立去掉

-mcpu=cortex-a7 -ffast-math 这个性能提升了约10%。

-mfpu=vfpv4-d16这个加上,-mfpu=neon就无效了。

-mfloat-abi=softfp,这个加上后,会报 fatal error: bits/c++config no such file 异常。

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/54694995

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。