可以說我有1000萬行的輸入。 我想知道這需要多久才能做到這一點:Python循環速度來源
if line not in list:
list.append(line)
是否有另一種,可以告訴我的各項工作任務的大致速度的任何網站或源?
可以說我有1000萬行的輸入。 我想知道這需要多久才能做到這一點:Python循環速度來源
if line not in list:
list.append(line)
是否有另一種,可以告訴我的各項工作任務的大致速度的任何網站或源?
你可以讓你的程序的總運行時間與此:
time python3 program.py
在終端
。這將有類似的輸出:
real 0m0.184s
user 0m0.032s
sys 0m0.015s
你可以得到它需要多長時間特定的功能與運行n
時間:
from timeit import timeit
def foo():
return 123456789 + 987654321
n = 10000000
time = timeit(foo, number=n)
print(time)
您也可以時間多久部分代碼需要用time
:
from time import time
start = time()
# code to be timed
finish = time()
print(finish - start)
運行在終端命令:
time python your_file.py
結果一定是這樣的:
real 0m0.018s
user 0m0.009s
sys 0m0.009s
是
real - refers to the actual elasped time
user - refers to the amount of cpu time spent outside of kernel
sys - refers to the amount of cpu time spent inside kernel specific functions
在THIS stachoverflow答案閱讀更多關於real
,user
,sys
由Con cernedOfTunbridgeWells。
爲了查找回波線的性能,您必須在輪廓儀上使用逐行時間和執行頻率,因此line_profiler
是一種簡單且不顯眼的方式來分析您的代碼,並用它來查看每條線的速度和頻率的代碼正在腳本中運行。您可以安裝由羅伯特·克恩書面line_profiler,您可以通過PIP安裝Python包:
$ pip install line_profiler
閱讀文檔HERE。
你試過'timeit'嗎? – 2014-09-01 13:24:40