def main():
for i in xrange(10**8):
pass
main()
Run Code Online (Sandbox Code Playgroud)
Python中的这段代码运行(注意:时序是在Linux中的BASH中使用时间函数完成的.)
real 0m1.841s
user 0m1.828s
sys 0m0.012s
Run Code Online (Sandbox Code Playgroud)
但是,如果for循环没有放在函数中,
for i in xrange(10**8):
pass
Run Code Online (Sandbox Code Playgroud)
然后它会运行更长的时间:
real 0m4.543s
user 0m4.524s
sys 0m0.012s
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
有人能解释一下吗 我理解它们背后的基本概念,但我经常看到它们互换使用,我感到困惑.
现在我们在这里,它们与常规功能有什么不同?
我想创建一个python函数来测试每个函数花费的时间,并用它的时间打印它的名字,如何打印函数名称,如果还有其他方法,请告诉我
def measureTime(a):
start = time.clock()
a()
elapsed = time.clock()
elapsed = elapsed - start
print "Time spent in (function name) is: ", elapsed
Run Code Online (Sandbox Code Playgroud) python ×2
benchmarking ×1
callback ×1
closures ×1
cpython ×1
function ×1
lambda ×1
performance ×1
profiling ×1
time ×1