时间就是金钱,效率就是生命。这句名言对于程序,尤其是性能至关重要的程序来说,同样一点都不过分。如何获得良好的程序运行性能,就是代码优化的研究内容。
本人之前主要从事计算机视觉,图形学以及图像处理相关方面的研究工作,现在更侧重于算法的开发和实现,并用于产品之中,部分算法需要在移动设备上运行,因此对内存使用效率和运行速度要求非常高,基于此,目前在读《代码优化:有效使用内存》这部书。并愿意在博客里面与大家分享我的一些收获。
本书系统地介绍了各种代码优化编程知识,其内容涵盖:
- 关于如何确定程序中消耗CPU时钟最多的热点代码的所谓程序剖分工具的实用知识;
- RAM子系统的工作原理与代码优化知识
- 高速缓存子系统的工作原理与代码优化知识
- 机器代码优化技术等。
对于本人来说,书中关于如何确定程序中消耗CPU时钟最多的热点代码的所谓程序剖分工具方面的介绍,用处不是很大,因为我写的程序并不是非常复杂和庞大,热点代码很容易定位。所以在后面的博客里面,我不会提到这方面的内容,如果大家有兴趣,可以买原版的书仔细研读,相信会大有收获。
书中关于内存优化操作,例如展开循环,消除数据相关性,数据并行处理,读写内存操作技巧等方面,有非常简单而且实用的技巧介绍,我亲自编写代码测试,效果的确显著,能够大幅提高代码性能,其中原理阐述也很清晰。之后有更加深入的关于如何利用高速缓存来提高代码性能方面的介绍,在后面的博客中,将尽我所能与大家一一分享。