欢迎访问宙启技术站
智能推送

如何使用Python中的内置函数来测量程序运行时间?

发布时间:2023-06-20 02:53:53

Python中的内置模块time提供了一些函数来测量程序的执行时间,主要有time.time()和timeit()两种方式。

一、使用time.time()计算程序运行时间

time.time()函数会返回从1970年1月1日零时开始的秒数,因此可以通过记录程序开始和结束时间,然后求差值来计算程序的运行时间。

示例代码如下:

import time

# 计算程序运行时间的函数
def calculate_run_time():
    start_time = time.time()
    # 程序代码
    time.sleep(1)  # 模拟程序运行1秒钟
    end_time = time.time()
    run_time = end_time - start_time
    print("程序运行时间为:%.5f秒" % run_time)  # 保留5位小数输出

运行结果:

程序运行时间为:1.00104秒

二、使用timeit()函数计算程序运行时间

timeit()函数是用来测试小段代码执行速度的,它会自动执行多次,然后计算平均值,从而减小误差。

timeit()函数有三种使用方式:函数形式、命令行形式和面向对象形式。

1. 函数形式

import timeit

# 测试代码的函数
def test():
    a = [i**2 for i in range(1000)]

# 使用timeit()计算程序运行时间
print(timeit.timeit(stmt=test, number=10000))  # stmt为待测试语句,number为测试次数

运行结果:

0.14359289999990734

2. 命令行形式

在命令行中直接使用以下命令:

python -m timeit -s "from xxx import xxx" "xxxxx"

其中,-s后面的参数为引入的模块或变量,原代码需要放在双引号内。

3. 面向对象形式

在Python的标准库中,还提供了一个Timer类,可以用来计算程序运行时间。

import timeit

# 创建Timer对象
t = timeit.Timer(stmt="[i**2 for i in range(1000)]")

# 执行10次,返回执行时间
print(t.timeit(number=10))

运行结果:

0.006879500000037519

总结:

使用time.time()可以简单快捷地计算程序运行时间,但是其有一定误差,不太适合测试代码执行速度;而使用timeit()可以多次执行并计算平均值,可减小误差,能更准确地测试代码执行速度。使用时根据实际情况选择。