是否有一個bash命令或一個Python庫,將花費時間來執行文件/命令?我希望能夠決定哪種語言最適合於某項任務,或者有辦法確定Python代碼A的運行速度比Python代碼B快。如果有這種方法,但這個問題不在話題中,請使用搜索字詞或其他資源留下評論。檢查執行時間的實用程序?
2
A
回答
3
是的,它被稱爲time
命令。如time command arg1 arg2 arg3
。
此輸出3個字段,是這樣的:
real 0m0.631s
user 0m0.154s
sys 0m0.458s
第一個是實際掛鐘時間。第二個是程序在用戶空間中花費了多長時間。第三個是程序花費在內核空間上的時間。
1
time
例如:
time ls -a
給人,上市後的文件,
real 0m0.240s
user 0m0.002s
sys 0m0.004s
有在資源方面有什麼跟蹤多種選擇。詳情請參閱手冊頁。
0
python -m timeit "setup" "code"
如果你想要時間的Python代碼。適用於快速和骯髒的性能基準。
2
你可以使用timeit:
from timeit import timeit
print timeit("function_2(arg)", "from __main__ import function_2, arg", number=5)
注意事項:
from __main__ import function, arg
給timeit
模塊訪問函數和變量在腳本中。- 函數和相關的參數必須作爲字符串傳遞。
- number =運行次數[默認爲1000000]。
- timeit返回的時間是
number
運行的總和......不是平均值(抓住我一次......)。
0
我用這個片段中,這是我在網上找到的地方,我不記得:
import atexit
import time
def secondsToStr(t):
return "%d:%02d:%02d.%03d" % \
reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
[(t*1000,),1000,60,60])
line = "="*40
def log(s, elapsed=None):
print line
print secondsToStr(time.clock()), '-', s
if elapsed:
print "Elapsed time:", elapsed
print line
print
def endlog():
end = time.clock()
elapsed = end-start
log("End Program", secondsToStr(elapsed))
def now():
return secondsToStr(time.clock())
start = time.clock()
atexit.register(endlog)
log("Start Program")
相關問題
- 1. 執行程序時的版本檢查
- 2. javascript檢查執行時間
- 3. 用JProfiler(7.0.1)進行java web應用程序分析和執行時間檢查
- 4. 執行時間java程序
- 5. 根據時間檢查時間和運行程序的功能。
- 6. Kohana v3應用程序執行時間
- 7. 在matlab中查找並行程序的執行時間
- 8. 使用N個線程執行後查找執行時間
- 9. 程序的執行時間是「5E-006」?
- 10. 程序執行的時間計算?
- 11. 計算Java程序的執行時間
- 12. 程序執行的C++測量時間
- 13. 查詢的執行時間
- 14. 的Cypher查詢執行時間與Neo4j的Java驅動程序
- 15. 如何查看我的程序的執行時間?
- 16. 如何檢查執行時間花了多長時間
- 17. 實時應用程序中最快時間執行的最快C++映射?
- 18. 如何在Eclipse中查找程序的執行時間?
- 19. 在整個執行時間檢查stdin上的用戶輸入
- 20. 程序在特定時間執行
- 21. Eclipse來獲取程序執行時間
- 22. 該程序長時間執行
- 23. 測量程序執行時間
- 24. 在固定時間執行python程序
- 25. 內聯彙編程序執行時間
- 26. 並行線程實時檢查輸入
- 27. 如何檢索先前查詢的查詢執行時間
- 28. 如何檢查JavaScript中每次運行的執行時間?
- 29. SQL查詢時間 - 執行時間
- 30. SQL查詢長時間執行時間
雖然我沒有接受這一點,我爲此+1了。太糟糕了,我不能接受倍數。 :D謝謝! – CoffeeRain 2012-03-12 19:03:51