工作和学习中经常遇到程序执行很慢,效率低的问题,根据平时的工作,自己总结了一些提高程序效率的方法,持续更新中。
方法:
1、 利用缓存思想,用空间换时间。
比如矢量字体freetype显示慢,可以缓存起来一部分常用的字体。
比如解析一张通用的图片,显示比较缓慢,可以解析出来以后把图片数据缓存起来。
2、 传递指针比传递参数值效率高,因为传递值时,传递的是值的一份拷贝,拷贝需要花时间,但是传递指针可以对原数据结构修改, 所以可以加上 const 关键字防止被修改。即向函数传递结构参数是低效的。
3、 如果程序太大,可以从最大的函数和数据结构入手。
4、 如果程序太慢:可以测算程序每一部分在执行时所花费的时间。想办法优化使用最频繁的那部分代码运行速度,
方法: 针对调用耗费时间最多的库函数,可以想办法少调用。
减少某些函数的调用次数
为消耗时间长的函数重新设计算法
还可以对某些函数使用汇编。