Python 在方法内部或方法调用的行之间,在何处调用方法的时间度量?

Python 在方法内部或方法调用的行之间,在何处调用方法的时间度量?,python,time,Python,Time,方法内部调用时间测量的正确位置在哪里 def factorization(R, P, Q, K) start_time = timeit.default_timer() ...code... elapsed = timeit.default_timer() - start_time print elapsed 或者当我调用此方法执行时 if __name__ == "__main__": ..code.. start_time = timeit.default_

方法内部调用时间测量的正确位置在哪里

def factorization(R, P, Q, K)
  start_time = timeit.default_timer()

  ...code...

  elapsed = timeit.default_timer() - start_time
  print elapsed
或者当我调用此方法执行时

if __name__ == "__main__":

  ..code..

  start_time = timeit.default_timer()

  nP, nQ = factorization(R, P, Q, K)

  elapsed = timeit.default_timer() - start_time
  print elapsed

这有显著不同吗?如何?

调用时间测量何时调用该方法将更准确。你的函数
分解(R,P,Q,K)
应该有返回,你不能计算返回后经过的时间,返回也应该被视为函数的部分代码。

我还想补充一点,偶尔只分析分析器,甚至分析空函数的调用开销是有用的。(假设编译器没有对其进行优化。)。是否有显著的不同?很可能是纳秒或微秒……但做一些事情足够多次,甚至微秒都会累积起来。