提示:在Python中,有多种方法可以测量代码的运行时间,这对于优化代码性能和比较不同实现的效率非常有用。以下是一些常用的方法:


一、使用time模块

1.计算程序运行CPU的时间

time模块提供了多个函数来帮助我们测量代码的运行时间。最简单的方法是使用time.perf_counter(),它提供了一个高精度的计时器,返回自某个特定点开始经过的时间,以秒为单位。这个特定点通常是系统启动时,但这个值并不重要,因为我们通常会测量时间间隔。

import time
start = time.perf_counter()# 记录开始时间
# 在这里执行你的代码
#
end = time.perf_counter()# 记录结束时间
run_time = end - start  # 计算运行时间
print(f"运行时间:{run_time}秒")

2.计算CPU的总运行时间

#该方法包含了其他程序使用CPU的时间,返回值是浮点数
import time
start=time.time()
#中间写上代码块
end=time.time()
print('Running time: %s Seconds'%(end-start))

二、使用datetime模块(该方法包含了其他程序使用CPU的时间)

datetime模块也可以用来测量代码运行时间,尤其是当你需要更人性化的时间格式时。datetime.now()函数返回当前的日期和时间。

import datetime
start = datetime.datetime.now()# 记录开始时间
# 在这里执行你的代码
#
end = datetime.datetime.now()# 记录结束时间
run_time = end - start  # 计算运行时间
print(f"运行时间:{run_time}")

三、使用timeit模块

timeit模块是专门用来测量小段代码执行时间的模块。它可以自动地多次运行代码以提供一个更准确的时间测量。这对于优化算法和性能调试非常有用。

代码一

import timeit

# 使用timeit.timeit()来测量代码的执行时间
run_time = timeit.timeit('code_to_test()', setup='from __main__ import code_to_test', number=1000)

print(f"运行时间:{run_time}秒")

代码二

#在 Unix 系统中,建议使用 time.time(),在 Windows 系统中,建议使用 time.perf_counter()
#实现跨平台的精度性可以使用timeit.default_timer()
import timeit
start=timeit.default_timer()
#中间写代码块
end=timeit.default_timer()
print('Running time: %s Seconds'%(end-start))

四、使用PyCharm的Profile工具

如果你使用PyCharm作为开发环境,你可以利用内置的Profile工具来测量代码的运行时间。只需在PyCharm中运行你的脚本,并选择"Run -> Profile ‘YourScript’"。这将提供一个详细的运行时间报告,包括每个函数的执行时间。


注意事项

  1. time.clock()函数在Python 3.3中已被弃用,并在Python 3.8中被移除。如果你的代码中还在使用time.clock(),应该替换为time.perf_counter()或time.process_time()。
  2. 测量代码运行时间时,确保你的测试环境尽可能一致,以便于比较不同代码段的性能。
  3. 对于长时间运行的代码,考虑使用更精确的时间单位,如毫秒或微秒,以获得更细致的测量结果。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐