當前位置:首頁 » 編程語言 » python程序運行時間

python程序運行時間

發布時間: 2023-06-11 01:59:12

① 幾種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中程序運行時間計算的各種方法。

程序中主要有兩種時間CPU time和Wall time, 前者就是CPU實際運行的時間,包含系統CPU time和程序CPU time;

③ python3.5中怎麼輸出運行時間

通過代碼實現。
具體代碼。start=time。clock()run_fun()end=time。clock()printend-start這種演算法只計算了程序運行的CPU時間。
我們知道為了提高代碼的運行速度,我們需要對書寫的python代碼進行性能測試,而代碼性能的高低的直接反饋是電腦運行代碼所需要的時間。

④ 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記錄程序運行時間的三種方法

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時間
感謝閱讀,希望能幫助到大家

⑥ 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包

⑦ 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)

⑧ python語言運行速度如此差

這就要說到 Python 類語言和 C 類語言的主要區別了,Python 屬於解釋型語言,通俗來說就是你可以一句一句地輸入,而 Python 解釋器(Interpreter)可以一句一句地執行,而 C 語言屬於編譯型語言,無法做到這一點,只能一次性輸入完成,編譯成一個完整的程序再執行,而這個編譯的過程由於現代編譯器做了非常多的優化,並且你的程序沒有輸入只有輸出,每次運行都出固定的結果,所以極有可能被編譯器優化成為了只有一條輸出語句(實際情況可能要復雜一些),總的來說就是由於二者之間原理的差異導致了性能的差異,你可以搜一搜相關的資料,關掉 C 語言編譯時的優化,再看一下性能,或者將固定的那些值改為運行時需要輸入再看一下效果。
Python 相較於 C 的優勢有很多,性能這一方面你不需要關心,做出一個足夠復雜的程序,它們之間運行效率差不了多少的。

熱點內容
高級語言都要編譯解析型語言 發布:2025-02-13 15:06:32 瀏覽:304
openwrt源碼下載 發布:2025-02-13 15:01:59 瀏覽:644
linux刪除一個目錄 發布:2025-02-13 15:00:29 瀏覽:539
螞蟻存儲 發布:2025-02-13 15:00:25 瀏覽:918
腳本師傳奇 發布:2025-02-13 14:45:48 瀏覽:481
我的世界lce伺服器剪輯 發布:2025-02-13 14:40:50 瀏覽:625
phpsftp上傳 發布:2025-02-13 14:35:43 瀏覽:274
c學生管理系統資料庫 發布:2025-02-13 14:21:41 瀏覽:123
傳奇添加會員腳本 發布:2025-02-13 14:20:50 瀏覽:206
微信開發平台源碼 發布:2025-02-13 14:14:20 瀏覽:614