当前位置: 首页 > backend >正文

高性能编程相关


​​​​​​​常见高性能编程技巧:
一,系统级性能优化:从系统架构设计考虑,例如消息队列,模块分成分级,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博客

http://www.xdnf.cn/news/5058.html

相关文章:

  • 机器学习第三讲:监督学习 → 带答案的学习册,如预测房价时需要历史价格数据
  • auto推导类型原则
  • 【深度学习新浪潮】苹果在显示算法技术上的研发进展调研
  • 多模态AI新纪元:Vertex AI Gemini与Spring AI深度集成实践
  • 汽车租赁|基于Java+vue的汽车租赁系统(源码+数据库+文档)
  • [春秋云镜] Brute4Road 仿真场景
  • 用 Rust 搭建一个优雅的多线程服务器:从零开始的详细指南
  • 突破跨界传输瓶颈:Zynq OCM与DDR核间数据共享性能深度调优
  • 安装数据库记录
  • LeetCode百题刷001双指针·快慢指针
  • Kafka单机版安装部署
  • 什么是信号完整性?
  • VBA高级应用30例应用4:利用屏蔽事件来阻止自动运行事件
  • Tomcat的`context.xml`配置详解!
  • 嵌入式系统架构验证工具:AADL Inspector v1.10 全新升级
  • 1、mongodb-- BSON 学习和JSON性能对比
  • 新一代电动门“攻克”行业痛点,远峰科技打造“智能出入”新标杆
  • ApplicationEventPublisher 深度解析:Spring 事件驱动模型的核心
  • 图像来源:基于协同推理的双视角超声造影分类隐式数据增强方法|文献速递-深度学习医疗AI最新文献
  • 软件系统中功能模型 vs 数据模型 对比解析
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.3 商品销售预测模型
  • C++线程库
  • ggplot2 | GO barplot with gene list
  • 深入探索DSPy:开启模块化AI编程的新篇章
  • Unity 日志存档功能
  • 数字化转型:概念性名词浅谈(第二十六讲)
  • c++ 命名空间
  • java的输入输出模板(ACM模式)
  • 软件测试——用例篇(2)
  • JavaScript与TypeScript深度对比分析