我不会编程
之前写一些小程序,也不怎么关注运行速度
最近在处理一些图片,感到速度的重要性
采用多线程是第一个想到的办法
然后进一步优化,之前不注意的细节也都优化了,还挺有用,
例如循环之内多次用到的固定计算,放到循环之前先算好,
甚至包括对数组的引用,例如多次引用a(m+1),那么m+1的值先算好
等等
优化后,程序运行时间从最初单线程的几个小时,到多线程的半小时,再到进一步优化后的十分钟以内。
中间还遇到一些其他坑,
例如处理一批tif图片时,我以为同批次tif里图像数据存储位置都一样,所以读了第一张的图片位置后,就用这个值读其他图片的图像数据了。
结果发现计算结果不对。
原来每一张图像数据位置都不一样。
--
FROM 124.235.203.*