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

8,945次阅读
没有评论

共计 1136 个字符,预计需要花费 3 分钟才能阅读完成。

贩卖月光的小女孩
2021-10-15 11:48:24
浏览数 (7344)

在使用 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
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-23发表,共计1136字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)