C/C++ 性能优化思路

简介: C/C++ 性能优化思路

1、针对IO瓶颈的性能优化

每次IO操作大概在10ms量级,100次就需要1秒左右,因此尽量避免不必要的IO操作。具体做法如下:

(1)预先顺序读文件避免随机访问。

(2)合并多个小文件为单个大文件。

(3)优化动态库文件的加载。

(4)交错IO时间和CPU时间。


2、针对计算密集的性能优化

计算密集的性能问题主要有内存分配性能、字符串操作、共享变量的互斥锁保护等,具体优化方法如下:

(1)去除冗余代码。

(2)字符串操作优化。

(3)减少内存分配、释放操作,例如使用内存池。

(4)减少不必要的互斥锁操作。

(5)根据性能需求选择数据结构。

(6)延迟工作,按需执行。

(7)减少跨进程的调用。

(8)使用高性能的函数库。


3、C++语言特性相关的性能优化

C++语言特性相关的性能优化包括内联函数、引用、编译优化选项等.


4、用户体验的性能优化

有些设计不能真正提升性能,但让用户体验到了性能提升。如:

(1)流式播放设计,用户不需要等到视频文件下载完成再播放,可以边下载边播放。

(2)线程化设计,对于需要较长时间完成的操作,可以设计为非阻塞式的,用户可以在等待时间完成其它操作任务。


5、设计层面的性能优化

设计层面的性能优化需要根据软件整体架构具体问题具体分析。


目录
相关文章
|
2月前
|
存储 缓存 算法
【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能
【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能
120 0
|
2月前
|
Linux 编译器 C++
C/C++性能优化:从根本上消除拷贝操作的浪费
C/C++性能优化:从根本上消除拷贝操作的浪费
56 0
|
2月前
|
缓存 编译器 数据处理
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
56 0
|
8天前
|
存储 缓存 算法
C++从入门到精通:4.6性能优化——深入理解算法与内存优化
C++从入门到精通:4.6性能优化——深入理解算法与内存优化
|
1月前
|
算法 编译器 C++
【C++】C++代码性能优化的方法(全网最适用)
【C++】C++代码性能优化的方法(全网最适用)
|
2月前
|
算法 Linux 编译器
⭐⭐⭐⭐⭐Linux C++性能优化秘籍:从编译器到代码,探究高性能C++程序的实现之道
⭐⭐⭐⭐⭐Linux C++性能优化秘籍:从编译器到代码,探究高性能C++程序的实现之道
160 2
|
2月前
|
缓存 编译器 调度
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
106 0
|
11月前
|
存储 算法 安全
【C++】C++代码性能优化的方法(全网最适用)
【C++】C++代码性能优化的方法(全网最适用)
168 0
|
并行计算 程序员 Linux
C++服务性能优化的道与术-道篇:阿姆达尔定律
在之前的文章 《2004:当CPU温和地走入那个良夜》 中我讲到了2000年后摩尔定律的终结,CPU时钟频率定格,多核成为CPU发展的新方向,并行计算成为趋势。
189 0
C++服务性能优化的道与术-道篇:阿姆达尔定律
|
测试技术 编译器 开发工具
C++服务性能优化的道与术-道篇:google benchmark的安装与使用
如果你实现一个公共的工具函数,有多种实现方式,你怎么测试性能呢?是循环多少次,然后打印一下起止时间,计算耗时吗?这样当然没问题。但是每次都类似的需求,都会写很多冗余的代码来进行耗时统计,另外也缺乏灵活性。有没有方便的方式来测试呢?有,Google家的benchmark性能测试框架。
984 2
C++服务性能优化的道与术-道篇:google benchmark的安装与使用