高性能编程相关
常见高性能编程技巧:
一,系统级性能优化:从系统架构设计考虑,例如消息队列,模块分成分级,IO读写带宽等
二,算法级性能优化:时间和空间优化
三,代码级性能优化,常见方式如下:
1,精简code-path: 函数调用栈深度最好不超过30
2,控制函数参数个数:一般不超过5个,参数多了之后编译器会对多余参数进行压栈和出栈操作
3,使用分支预测:分支预测是一种数字电路,能提高pipeline性能
4,类和结构体常用数据放前面:提高cache命中率
5,尽量使用栈内存,少使用堆内存:栈内存cache命中率更好,且避免了内存分配和释放
6,对象大批量申请和释放场景,简易使用placement new使用预分配内存
7,++it比it++执行效率更好
8,使用右值引用和move语义
9,不用排序的字典使用unordered_map
10, 使用final关键字,可以避免虚函数查找开销
11,使用constexpr关键字,编译器直接常量替换,且不会产生符号表(减小软件成本)
性能分析参考:
使用火焰图(FlameGraph)分析程序性能_火焰图性能分析-CSDN博客