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、设计层面的性能优化

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


目录
相关文章
|
7月前
|
Linux 编译器 C++
C/C++性能优化:从根本上消除拷贝操作的浪费
C/C++性能优化:从根本上消除拷贝操作的浪费
942 1
|
7月前
|
存储 缓存 算法
【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能
【C/C++ 性能优化】提高C++程序的缓存命中率以优化性能
1112 0
|
7月前
|
缓存 编译器 数据处理
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
715 0
|
7月前
|
存储 缓存 程序员
C++内存管理:避免内存泄漏与性能优化的策略
C++内存管理涉及程序稳定性、可靠性和性能。理解堆和栈的区别至关重要,其中堆内存需手动分配和释放。避免内存泄漏的策略包括及时释放内存、使用智能指针和避免野指针。性能优化策略则包括减少内存分配、选用合适数据结构、避免深拷贝及缓存常用数据。通过这些最佳实践,可提升C++程序的效率和质量。
|
7月前
|
存储 缓存 算法
C++从入门到精通:4.6性能优化——深入理解算法与内存优化
C++从入门到精通:4.6性能优化——深入理解算法与内存优化
552 1
|
7月前
|
算法 编译器 C++
【C++】C++代码性能优化的方法(全网最适用)
【C++】C++代码性能优化的方法(全网最适用)
|
7月前
|
算法 Linux 编译器
⭐⭐⭐⭐⭐Linux C++性能优化秘籍:从编译器到代码,探究高性能C++程序的实现之道
⭐⭐⭐⭐⭐Linux C++性能优化秘籍:从编译器到代码,探究高性能C++程序的实现之道
483 3
|
7月前
|
缓存 编译器 调度
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程
424 0
|
存储 算法 安全
【C++】C++代码性能优化的方法(全网最适用)
【C++】C++代码性能优化的方法(全网最适用)
264 0
|
测试技术 编译器 开发工具
C++服务性能优化的道与术-道篇:google benchmark的安装与使用
如果你实现一个公共的工具函数,有多种实现方式,你怎么测试性能呢?是循环多少次,然后打印一下起止时间,计算耗时吗?这样当然没问题。但是每次都类似的需求,都会写很多冗余的代码来进行耗时统计,另外也缺乏灵活性。有没有方便的方式来测试呢?有,Google家的benchmark性能测试框架。
1148 2
C++服务性能优化的道与术-道篇:google benchmark的安装与使用