Ⅰ python 計算程序運行了多長時間
python 計算程序運行時間:
6.760052s
一、import time
Ⅱ Python測量程序運行時間,time.time與time.clock
現象描述:
1、time.clock 在win系統和linux系統下對相同程序的計時結果不一致
2、到底應該用什麼時間計時?為什麼用time.time與time.clock計時會有那麼大的差異
在計算機領域有多種時間。
第一種稱作CPU時間或執行時間,用於測量在執行一個程序時CPU所花費的時間。第二種稱作掛鍾時間,測量執行一個程序時的總時間。掛鍾時間也被稱作流逝時間或運行時間。與CPU時間相比,掛鍾時間通常長些,因為CPU執行測量的程序可能同時還在執行其它程序的指令。
另一個重要概念是所謂的系統時間,由系統時鍾測量。系統時間表示計算機系統時間傳遞的概念。要記住系統時鍾是可以由操作系統修改的,就是修改系統時間。
在Unix系統上,time.time的作用與Windows相同,但time.clock的意義不同。
在Unix系統上,time.clock以秒為單位返回當前處理器時間,例如,執行當前線程所花費的CPU時間。而在Windows上,它是以秒為單位的返回自首次調用該函數以來所流逝的系統時間。
以我遇到的Ubuntu系統上運行time.time和time.clock的例子:
time.time()顯示系統時間過去大概1秒,而time.clock()顯示花費在當前進程上的CPU時間只有於1毫秒。
而win下time.time()和time.clock()顯示系統時間都是大致過去了1秒
在測量程序准確性能時應該使用哪一個呢?
這要視情況而定。如果程序運行的系統能夠提供足夠的資源給程序,例如,一個運行基於Python的web應用程序的web伺服器,則使用time.clock()來測量程序會更有意義,因這個web應用程序可能是伺服器上的主要程序 。如果程序運行的系統上還同時運行著其它大量程序,則使用time.time()進行測量會更有意義。 如果不是這樣,就應該使用基於掛鍾的計時器來測量程序的性能,因為這樣通常能反應程序的環境。
放結論,一般情況下:
1、win用time.clock或time.time
2、linux 下用time.time 或 datetime.datetime.now().timestamp()
【1】(重要)https://blog.csdn.net/ao985438294363006/article/details/101349790 Python測量時間,用time.time還是time.clock
Ⅲ 用python+編寫一個程序,列印出執行1+1運行100次的時間
您好!您可以使用Python的time模塊來計算執行1+1運行100次的時間。首先,您需要在您的程序中導入時間模塊。然後,您可以使用time.time()函數來獲取當前時間,並在開始執行運算之前調用它來獲取開始時間,在運算完成之後再調用它來獲取結束時間,然後將兩者相減來計算出總運行時間。下面是一個例子:
import time
# 記錄開始時間
start_time = time.time()
# 執行1+1運算100次
for i in range(100):
1 + 1
# 記錄結束時間
end_time = time.time()
# 計算運行時間
run_time = end_time - start_time
# 列印運行時間
print("運行時間: ", run_time)
希望這些信息對您有幫助!
Ⅳ 7種檢測Python程序運行時間、CPU和內存佔用的方法
1. 使用裝飾器來衡量函數執行時間
有一個簡單方法,那就是定義一個裝飾器來測量函數的執行時間,並輸出結果:
import time
from functoolsimport wraps
import random
def fn_timer(function):
@wraps(function)
def function_timer(*args, **kwargs):
t0= time.time()
result= function(*args, **kwargs)
t1= time.time()
print("Total time running %s: %s seconds" %
(function.__name__, str(t1- t0))
)
return result
return function_timer
@fn_timer
def random_sort(n):
return sorted([random.random() for i in range(n)])
if __name__== "__main__":
random_sort(2000000)
輸出:Total time running random_sort: 0.6598007678985596 seconds
使用方式的話,就是在要監控的函數定義上面加上 @fn_timer 就行了
或者
# 可監控程序運行時間
import time
import random
def clock(func):
def wrapper(*args, **kwargs):
start_time= time.time()
result= func(*args, **kwargs)
end_time= time.time()
print("共耗時: %s秒" % round(end_time- start_time, 5))
return result
return wrapper
@clock
def random_sort(n):
return sorted([random.random() for i in range(n)])
if __name__== "__main__":
random_sort(2000000)
輸出結果:共耗時: 0.65634秒
2. 使用timeit模塊
另一種方法是使用timeit模塊,用來計算平均時間消耗。
執行下面的腳本可以運行該模塊。
這里的timing_functions是Python腳本文件名稱。
在輸出的末尾,可以看到以下結果:4 loops, best of 5: 2.08 sec per loop
這表示測試了4次,平均每次測試重復5次,最好的測試結果是2.08秒。
如果不指定測試或重復次數,默認值為10次測試,每次重復5次。
3. 使用Unix系統中的time命令
然而,裝飾器和timeit都是基於Python的。在外部環境測試Python時,unix time實用工具就非常有用。
運行time實用工具:
輸出結果為:
Total time running random_sort: 1.3931210041 seconds
real 1.49
user 1.40
sys 0.08
第一行來自預定義的裝飾器,其他三行為:
real表示的是執行腳本的總時間
user表示的是執行腳本消耗的CPU時間。
sys表示的是執行內核函數消耗的時間。
注意:根據維基網路的定義,內核是一個計算機程序,用來管理軟體的輸入輸出,並將其翻譯成CPU和其他計算機中的電子設備能夠執行的數據處理指令。
因此,Real執行時間和User+Sys執行時間的差就是消耗在輸入/輸出和系統執行其他任務時消耗的時間。
4. 使用cProfile模塊
5. 使用line_profiler模塊
6. 使用memory_profiler模塊
7. 使用guppy包
Ⅳ python3.5中怎麼輸出運行時間
通過代碼實現。
具體代碼。start=time。clock()run_fun()end=time。clock()printend-start這種演算法只計算了程序運行的CPU時間。
我們知道為了提高代碼的運行速度,我們需要對書寫的python代碼進行性能測試,而代碼性能的高低的直接反饋是電腦運行代碼所需要的時間。
Ⅵ 幾種Python執行時間的計算方法
方法1:
import datetime
starttime = datetime.datetime.now()
#long running
#do something other
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
datetime.datetime.now()獲取的是當前日期,在程序執行結束之後,這個方式獲得的時間值為程序執行的時間。
方法2:
start = time.time()
#long running
#do something other
end = time.time()
print end-start
time.time()獲取自紀元以來的當前時間(以秒為單位)。如果系統時鍾提供它們,則可能存在秒的分數。所以這個地方返回的是一個浮點型類型。這里獲取的也是程序的執行時間。
方法3:
start = time.clock()
#long running
#do something other
end = time.clock()
print end-start
time.clock()返回程序開始或第一次被調用clock()以來的CPU時間。 這具有與系統記錄一樣多的精度。返回的也是一個浮點類型。這里獲得的是CPU的執行時間。
註:程序執行時間=cpu時間 + io時間 + 休眠或者等待時間。
關於幾種Python執行時間的計算方法,環球青藤小編就和大家分享到這里了,學習是永無止境的,學習一項技能更是受益終身,所以,只要肯努力學,什麼時候開始都不晚。如果您還想繼續了解關於python編程的學習方法及素材等內容,可以點擊本站其他文章學習。
Ⅶ python記錄程序運行時間的三種方法
python記錄程序運行時間的三種方法
這里提供了python記錄程序運行時間的三種方法,並附有實現代碼,最後進行比較,大家參考下:
方法1
import datetime
starttime = datetime.datetime.now()
#long running
endtime = datetime.datetime.now()
print (endtime - starttime).seconds
方法 2
start = time.time()
run_fun()
end = time.time()
print end-start
方法3
start = time.clock()
run_fun()
end = time.clock()
print end-start
方法1和方法2都包含了其他程序使用CPU的時間,是程序開始到程序結束的運行時間。
方法3算只計算了程序運行的CPU時間
感謝閱讀,希望能幫助到大家
Ⅷ 在python里用time.time判斷函數的執行時間靠譜嗎
使用time.time來統計函數的執行時間,程序只會執行一次,存在很大的隨機因素。
timtit包就可以重復執行函數多次,然後將多次執行結果取平均值。相比起來更優。
然而程序執行時間很大程度還受計算機性能的影響,衡量程序好壞更靠譜的手段是計算時間復雜度。
Ⅸ Python如何獲得程序運行時間的格式化顯示
(1)在程序啟動時獲得當前時間:
recordTime = time.time()
(2)同時獲得當前時間的格式化串:
startTime = time.strftime("%H%M%S")
(3)在主循環中按秒進行判斷:
timeGap = time.time() - recordTime
if timeGap >= 1: #這是按1秒設置的,可以根據實際需要設置
recordTime += timeGap
showTime_String = get_lapseTime(startTime, time.strftime("%H%M%S"))
(4)函數:
def get_lapseTime(aTime, bTime):
aNum = 3600 * int(aTime[:2]) + 60 * int(aTime[2:4]) + int(aTime[-2:])
bNum = 3600 * int(bTime[:2]) + 60 * int(bTime[2:4]) + int(bTime[-2:])
gapH = (bNum - aNum) // 3600
gapM = ((bNum - aNum) % 3600) // 60
gapS = ((bNum - aNum) % 3600) % 60
gapTime = "%02d:%02d:%02d"%(gapH,gapM,gapS)
return(gapTime)