首页 > 编程知识 正文

Python查看代码执行时间

时间:2023-11-20 03:13:48 阅读:300313 作者:GTSW

本文将详细阐述如何在Python中查看代码执行时间,并从多个方面进行讲解。

一、time模块

1、time模块简介

Python中的time模块提供了与时间相关的函数,包括获取当前时间、时间延迟、计算时间差等功能。这些函数非常有用,可以帮助我们精确地测量代码的执行时间。

import time

start_time = time.time()

# 执行代码

end_time = time.time()
elapsed_time = end_time - start_time
print("执行时间:", elapsed_time)

2、time模块示例

下面我们以一个示例代码来演示如何使用time模块查看代码的执行时间。

import time

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

start_time = time.time()

result = fibonacci(35)

end_time = time.time()
elapsed_time = end_time - start_time

print("斐波那契数列第35项:", result)
print("执行时间:", elapsed_time)

二、timeit模块

1、timeit模块简介

Python中的timeit模块提供了更精确的计时功能,可以在多次运行代码后取平均值,以获得更准确的执行时间。

import timeit

code = '''
# 执行代码
'''

elapsed_time = timeit.timeit(stmt=code, number=10000)

print("执行时间:", elapsed_time)

2、timeit模块示例

下面我们以一个示例代码来演示如何使用timeit模块查看代码的执行时间。

import timeit

code = '''
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

result = fibonacci(35)
'''

elapsed_time = timeit.timeit(stmt=code, number=10000)

print("斐波那契数列第35项:", result)
print("执行时间:", elapsed_time)

三、perf_counter和process_time

1、perf_counter和process_time的区别

Python中的time模块还提供了perf_counter()和process_time()函数,用于更准确地测量代码的执行时间。

其中,perf_counter()函数返回的是系统的计时器的值,包括睡眠时间;而process_time()函数返回的是当前进程的执行时间,不包括睡眠时间。

import time

start_time = time.perf_counter()

# 执行代码

end_time = time.perf_counter()
elapsed_time = end_time - start_time
print("执行时间:", elapsed_time)
import time

start_time = time.process_time()

# 执行代码

end_time = time.process_time()
elapsed_time = end_time - start_time
print("执行时间:", elapsed_time)

2、perf_counter和process_time示例

下面我们以一个示例代码来演示如何使用perf_counter和process_time函数查看代码的执行时间。

import time

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

start_time = time.perf_counter()

result = fibonacci(35)

end_time = time.perf_counter()
elapsed_time = end_time - start_time

print("斐波那契数列第35项:", result)
print("执行时间:", elapsed_time)
import time

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

start_time = time.process_time()

result = fibonacci(35)

end_time = time.process_time()
elapsed_time = end_time - start_time

print("斐波那契数列第35项:", result)
print("执行时间:", elapsed_time)

四、cProfile模块

1、cProfile模块简介

Python中的cProfile模块是一个性能分析工具,可以帮助我们更详细地了解代码的执行时间以及函数的调用情况。

import cProfile

code = '''
# 执行代码
'''

cProfile.run(stmt=code)

2、cProfile模块示例

下面我们以一个示例代码来演示如何使用cProfile模块查看代码的执行时间和函数的调用情况。

import cProfile

def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

code = '''
result = fibonacci(35)
'''

cProfile.run(stmt=code)

五、总结

本文介绍了四种方法来查看Python代码的执行时间,包括time模块、timeit模块、perf_counter和process_time函数以及cProfile模块。

通过对代码的执行时间进行精确测量和性能分析,可以帮助我们优化代码,改善程序的效率。

希望本文对你了解如何查看Python代码的执行时间有所帮助!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。