PHP laravel 嵌套循环计算性能
PHP laravel nested loop calculation performance
在我的项目中,我正在计算太阳能电池板的角度,计算的细节是一年中每 6 分钟计算 1 度到 90 度之间的每个角度。
因此每个角度 90 都会有讨厌的嵌套循环,而不是每个月 12,每个月的每一天 30,以及一天中的每 6 分钟(240 个循环)。
90 x 12 x 30 x 240 = 7.776.000
即使在我的本地主机上,超过 700 万次计算也需要整整 20 秒才能完成。当我将我的项目上传到托管服务器时出现问题,它总是在 2-3 分钟未完成的过程后超时。
你们有什么解决此类问题的建议吗?
代码大概是这样的:
for(i = 0; i < 90; i++){
for(m = 0; m < 12; m++){
for(d = 0; d < 30; d++){
for(t = 0; t < 240; t++){
//some math calculation like sin cos pow etc
}
}
}
}
为了获得更好的性能,您可能需要用 c++ 编写它并使用 exec 来 运行 它。如果函数是纯的,也可以缓存。
在我的项目中,我正在计算太阳能电池板的角度,计算的细节是一年中每 6 分钟计算 1 度到 90 度之间的每个角度。
因此每个角度 90 都会有讨厌的嵌套循环,而不是每个月 12,每个月的每一天 30,以及一天中的每 6 分钟(240 个循环)。
90 x 12 x 30 x 240 = 7.776.000
即使在我的本地主机上,超过 700 万次计算也需要整整 20 秒才能完成。当我将我的项目上传到托管服务器时出现问题,它总是在 2-3 分钟未完成的过程后超时。
你们有什么解决此类问题的建议吗?
代码大概是这样的:
for(i = 0; i < 90; i++){
for(m = 0; m < 12; m++){
for(d = 0; d < 30; d++){
for(t = 0; t < 240; t++){
//some math calculation like sin cos pow etc
}
}
}
}
为了获得更好的性能,您可能需要用 c++ 编写它并使用 exec 来 运行 它。如果函数是纯的,也可以缓存。