千家信息网

Python怎么检测程序的运行时间和占用内存情况

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要介绍了Python怎么检测程序的运行时间和占用内存情况的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么检测程序的运行时间和占用内存情况文章都会有
千家信息网最后更新 2024年11月27日Python怎么检测程序的运行时间和占用内存情况

这篇文章主要介绍了Python怎么检测程序的运行时间和占用内存情况的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么检测程序的运行时间和占用内存情况文章都会有所收获,下面我们一起来看看吧。

相关库

Time

time 库是 Python 处理时间的标准库,提供了获取系统时间并格式化输出的功能,提供系统级精确计时功能,用于程序性能分析。

常用方法

时间获取 time()

时间格式化 strftime(format)

程序计时 sleep(seconds)

OS

os 库是 Python 标准库之一,提供了通用的、基本的操作系统交互功能。

常用方法

打开文件 os.open()

返回当前工作目录 os.getcwd()

获取当前进程的进程ID os.getpid

psutil

psutil 是一个开源且扩平台的库,提供了便利的函数用来获取系统的信息,例如:CPU、内存、网络、磁盘等。还可以用来进行进程管理。

常用方法

常看CPU个数 cpu_count()

获取当前的进程对象 Process()

查看网卡信息统计 net_io_counters()

代码实例:

下面我们将编写两个函数,分别是用来检测程序运行时间和程序内存占用的情况。同时编写一个简单的函数,用来测试。详细代码如下:

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("程序占用了内存"+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()

关于"Python怎么检测程序的运行时间和占用内存情况"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Python怎么检测程序的运行时间和占用内存情况"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

0