【发布时间】:2020-02-15 03:50:10
【问题描述】:
我正在为我的硕士论文研究一个用 python 编写的遗传算法。相关公司希望计算时间不超过 1 分钟。 GA 将在 Windows 平板电脑上实施。 GA 的开发是在 2013 款 MacBook Air 上完成的。为了评估,我想在 AWS/AZURE/.. 上针对不同的参数设置和各种情况运行 GA 100 次。是否有像 CPU 速度/teraflops/...这样的度量来将我的 Macbook 或云服务的计算时间转换为 Windows 平板电脑上计算时间的近似值。当然,其他方法也值得赞赏。
我知道计算机很复杂,很多方面都会影响计算时间。我认为最简化的解决方案可能是这样的:
COMPUTATION_TIME_ON_MACBOOK = 50. #In seconds
SOME_SPEED_MEASURE_OF_MACBOOK = 600
SOME_SPEED_MEASURE_OF_WINDOWS_TABLET = 400
COMPUATION_TIME_ON_WINDOWS_TABLET = COMPUTATION_TIME_ON_MACBOOK * SOME_SPEED_MEASURE_OF_MACBOOK / SOME_SPEED_MEASURE_OF_WINDOWS_TABLET
print(COMPUATION_TIME_ON_WINDOWS_TABLET)
75 #An approximation of the computation time on the windows tablet in seconds
【问题讨论】:
-
不可能有一个简单的计算可以保证有效。即使在同一台计算机上,处理速度也会根据各种其他因素而改变。我觉得这个限制的重点是你把精力放在优化上,在合适的时机把脚本剪掉,看看能和别人比的结果
-
@OferSadan 特别是因为 GA 几乎可以永远运行,并且基本上在任何时间点都会被切断。这个问题仍然有些有价值,因为 OP 可能想要估计如果运行 X 时间 GA 的结果会有多好。
标签: python computer-science computation-theory