一次提高运算速度的经历

非专业菜鸟,写程序只注重实现,不考虑速度、内存。写了一段自认为很精妙的代码,结果却运行的奇卡无比。

一个复杂的计算包含循环的循环循环,我也记不清多少次嵌套循环中,而且循环次数很多,具体就不统计了

该程序是一个随机模拟,希望的是大量、快速,所以,而第一次写的程序预计竟然是20秒一次模拟计算,

如果想要做10万次模拟的话,那么将近需要50个小时的时间。而随机试验10万次真的一点不多,如果要搞100万次模拟

那么这个程序基本是不能用了。

想过很多方法去对程序进行优化,后来发现在较底层的循环中有一个对shapefile的查询操作,没一次模拟计算都需要进行

4*25*N次查询(N为一变量,100以上)

听说数据库查询笔记耗资源,所以,就在计算之初做了一次查询,将查询结果放在数组中,后来底层的循环中不再直接查询数据库,

直接与数组进行交互,一运行,那速度老快了

原文地址:https://www.cnblogs.com/DayDreamEveryWhere/p/3582218.html