2024-06-09 18:27:18 发布
网友
我在努力提高程序的速度。除了消除冗余,使用循环而不是执行每一行,我想知道是否把所有的方法放在一个主程序中调用它们,或将这些方法划分成其他较小的程序,然后导入这些较小的程序并在主程序中调用,在速度上会有所不同?你知道吗
另外,看下面两种导入,我想第一种比较快?你知道吗
你知道吗
from ProgramA import MethodX MethodX.do something
import ProgramA ProgramA.MethodX.do something
当你谈论你的程序的速度时,你的问题的答案是否定的。你提到的事情都无关紧要。导入差异不会使程序显著加快,也不会使代码进入for循环。如果你想了解什么是真正重要的程序效率搜索大O符号和阅读一些东西。但例如,考虑寻找最大公分母。你知道吗
找到两个数字的GCD的第一件事是这样的。。。你知道吗
def GCD (num1, num2): for i in reversed(range(1, num1)): if (num1 % i == 0) and (num2 % i == 0): return i
现在,这个程序可以解决你的问题。但这不是解决问题的最好办法。最好的方法叫欧几里德算法。。。例如。你知道吗
def GCD(num1, num2): if (num2 == 0): return num1 else: return GCD(num2, num1 % num2)
这个算法比较好。所以这个故事的寓意是,当你谈论程序的速度和效率时,你在试图找到解决问题的最佳方法,就像上面的例子一样。像你上面所说的这些小事真的无关紧要。然而,如果你真的需要更快的速度,那就去多处理和并行计算吧。你知道吗
当你谈论你的程序的速度时,你的问题的答案是否定的。你提到的事情都无关紧要。导入差异不会使程序显著加快,也不会使代码进入for循环。如果你想了解什么是真正重要的程序效率搜索大O符号和阅读一些东西。但例如,考虑寻找最大公分母。你知道吗
找到两个数字的GCD的第一件事是这样的。。。你知道吗
现在,这个程序可以解决你的问题。但这不是解决问题的最好办法。最好的方法叫欧几里德算法。。。例如。你知道吗
这个算法比较好。所以这个故事的寓意是,当你谈论程序的速度和效率时,你在试图找到解决问题的最佳方法,就像上面的例子一样。像你上面所说的这些小事真的无关紧要。然而,如果你真的需要更快的速度,那就去多处理和并行计算吧。你知道吗
相关问题 更多 >
编程相关推荐