App下載

Python 檢測程序的運行時間和占用內(nèi)存情況

販賣月光的小女孩 2021-10-15 11:48:24 瀏覽數(shù) (7975)
反饋

在使用 Python 語言做算法、數(shù)據(jù)分析等等,通常程序員需要了解程序的效率和內(nèi)存使用的情況,從而更好地了解以及優(yōu)化程序。下面,就和大家分享一下如何來檢測 Python 程序的運行時間和內(nèi)存占用情況。

相關(guān)庫

Time

time 庫是 Python 處理時間的標準庫,提供了獲取系統(tǒng)時間并格式化輸出的功能,提供系統(tǒng)級精確計時功能,用于程序性能分析。

常用方法

時間獲取    time()

時間格式化    strftime(format)

程序計時    sleep(seconds)

OS

os 庫是 Python 標準庫之一,提供了通用的、基本的操作系統(tǒng)交互功能。

常用方法

打開文件   os.open()

返回當前工作目錄    os.getcwd()

獲取當前進程的進程ID    os.getpid

psutil

psutil 是一個開源且擴平臺的庫,提供了便利的函數(shù)用來獲取系統(tǒng)的信息,例如:CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤等。還可以用來進行進程管理。

常用方法

??碈PU個數(shù)    cpu_count()

獲取當前的進程對象    Process()

查看網(wǎng)卡信息統(tǒng)計    net_io_counters()


代碼實例:

下面我們將編寫兩個函數(shù),分別是用來檢測程序運行時間和程序內(nèi)存占用的情況。同時編寫一個簡單的函數(shù),用來測試。詳細代碼如下:

import time
import os
import psutil

def count_time(func):
def int_time():
start_time = time.time()
func()
over_time = time.time()
total_time = over_time - start_time
print("程序運行了%s秒" % total_time)
return int_time

def count_info(func):
def float_info():
pid = os.getpid()
p = psutil.Process(pid)
info_start = p.memory_full_info().uss/1024
func()
info_end=p.memory_full_info().uss/1024
print("程序占用了內(nèi)存"+str(info_end-info_start)+"KB")
return float_info

@count_time
@count_info
def main():
a = [i for i in range(10000)]
print(a)

if __name__ == '__main__':
main()

運行結(jié)果:


總結(jié)

以上就是關(guān)于如何檢測 Python 測序的運行時間和內(nèi)存占用情況的全部內(nèi)容。

0 人點贊