sve*_*ija 0 php mysql google-app-engine amazon-ec2
我有一个用PHP编写的算法,它与MySQL通信.在标准的共享托管服务器上,计算大约需要5秒钟.我的问题是 - 如何加快速度(当然不改变算法本身),使用专用/ VPS,也许是一些云计算或......?
你有什么建议?
编辑:这是公共交通的Dijkstra算法.我有(仅)3500个独特的站点.
简而言之 - 我有多个数组用于记录主动停止,先前停止,lineToStop,totalTime,travelingTime等.我循环停止数量,得到停止的id,建立与其他停靠点的连接(基于该活动停止的时间),再次循环停止()的大小以找到具有最低值的那个,将其标记为积极并再次继续.
我意识到这是优化问题所以 - > Dijkstra算法优化/缓存
当你买机票时,第一个问题不是"你想去哪里?" -这是"你到哪儿去从?" 换句话说,没有太多,更多的细节,我们只是在猜测.
"我怎样才能加快速度?"是最可靠的答案.无论如何是这样的:
测量它,发现实际瓶颈,消除瓶颈,重复直到它运行良好.
如果没有分析,你可能会浪费无穷无尽的时间来优化一些没有任何重大性能影响的代码(请注意强调"实际瓶颈" - 许多程序员 - 几个世纪都花在优化人们想象的可能是瓶颈上).
示例:将方法加速1000%是没有意义的,如果它是在程序开始时调用一次的方法,并且程序花费90%的时间等待磁盘I/O. 另一个例子:制作磁盘阵列以帮助解决I/O瓶颈,当程序花费90%的时间等待运行复杂的无索引查询的SQL服务器时.这些不是你可能遇到的唯一问题,而且它们甚至不是相互排斥的 - 但你需要在开始解决之前知道你遇到了什么问题."它很慢"不是对问题的描述,它只是一种症状(就像"头痛"可能是9000种不同疾病的症状).
TL; DR:没有银弹.
| 归档时间: |
|
| 查看次数: |
5539 次 |
| 最近记录: |