我有一个我需要优化的过程,我想知道乘法运算在两个双精度之间需要多长时间。如果我可以切断其中的1000个,我想知道它是否真的会对我的流程的整体性能产生影响?
答案 0 :(得分:7)
这是高度系统特定的。在我的系统上,只需几毫秒即可进行1000万次乘法运算。删除1000可能不会引人注意。
如果你真的想要优化你的日常工作,这不是最好的方法。更好的方法是对其进行分析,并找到当前实现中的瓶颈(这可能不是您所期望的)。然后看看那个瓶颈,并尝试提出一个更好的算法。首先关注整体算法,然后优化它们。
如果它仍然太慢,那么你可以开始尝试优先考虑较慢部分中的实际例程或首先调用多次的例程。
唯一有效的分析方法是先测量(和之后!)。
答案 1 :(得分:2)
现代英特尔CPU在每秒数十亿浮点乘法的10倍中做。如果我是你,我不会担心1000 Intel doc显示其CPU的FLOP性能
答案 2 :(得分:1)
这取决于各种各样的事情,比如你正在使用的cpu,当前正在运行的其他进程,jit做了什么......
获得这个问题答案的唯一可靠方法是使用分析器并确定优化的效果
答案 3 :(得分:1)
这完全取决于因素的大小。我可以在几分之一秒内完成单位数乘法(例如7×9),而我需要几分钟才能计算365286×475201。