1.按照模块划分,找到对性能影响较大的模块,进行优化。临时叫做“模块化优化”。
2.分析每个线程的运行时间,对明显不合理的线程及其对应的功能和代码进行优化。
3.针对硬性指标:
1) 内存和虚拟内存:单纯看内存指标意义不大,应该综合的看内存和虚拟内存。
2) CPU运行时间:横向对比其他类似软件,可以看到IG占用的CPU时间明显较大。这可能是IG整体运行感觉较慢的一个量化指标。应结合模块化优化进行调优。
3) GDI资源:占用过多GDI将对Windows系统造成影响,比如系统变慢,显示不稳定等等。
4) 页面错误:页面错误是指从硬盘读数据到物理内存的过程,这个时间是较大的,比如程序启动时大概70%的时间花费在这个阶段。相比其他同类软件,IG的这个指标偏大。
5) IO读写量:这个指标对硬盘较慢的机器影响很大。
4.代码审查。好处:1.预防低级错误,排除测试阶段难以发现的错误。2.全体开发人员共同分享发现的问题,避免下次自己犯同样错误。
5.在代码中加入记录信息。好处:1.记录每个函数的运行时间,运行次数,从而准确找到瓶颈所在。2.出现难查的问题时可以给出代码轨迹供参考。