Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python--计算运行时间

Python--计算运行时间

作者头像
py3study
发布于 2020-01-11 12:54:38
发布于 2020-01-11 12:54:38
6.5K0
举报
文章被收录于专栏:python3python3

1.实际需求

  在很多的时候我们需要计算我们程序的性能,常用的标准是时间复杂度,因此需要统计程序运行的时间。Python中有很多计算程序运行时间的方法。

2. 方法展示

  计算Python的某个程序,或者是代码块运行的时间一般有三种方法。

  • 方法一
代码语言:sql
AI代码解释
复制
import datetime
start = datetime.datetime.now()
run_function():
    # do something

end = datetime.datetime.now()
print('totally time is ' end - start)

方法二:

代码语言:sql
AI代码解释
复制
import time
start = time.time()
run_function()
end = time.time()

print (str(end))

方法三:

代码语言:sql
AI代码解释
复制
import time
start = time.clock()
run_function()
end = time.clock()

print (str(end-start))

方法对比

  • 通过对以上方法的比较可以发现,方法二的精度比较高。方法一基本上是性能和系统有关系,比如晶振,比特。一般情况下推荐使用方法二和方法三。方法二显示的是UTC时间。 在很多系统中time.time()的精度都是非常低的,包括windows。
  • python的标准库手册推荐在任何情况下尽量使用time.clock().但是这个函数在windows下返回的是真实时间(wall time)
  • 方法一和方法二都包含了其他程序使用CPU的时间。方法三只计算了程序运行CPU的时间。
  • 方法二和方法三都返回的是浮点数

那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档) 那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档) 那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档) 那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档) 那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档) 那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档) 那究竟 time.clock() 跟 time.time(),谁比较精确呢?带着疑问,查了 Python 的 time 模块文档,当中 clock() 方法有这样的解释(来自官方文档)

  time.clock() 返回的是处理器时间,而因为 Unix 中 jiffy 的缘故,所以精度不会太高。clock转秒,除以1000000。

  究竟是使用 time.clock() 精度高,还是使用 time.time() 精度更高,要视乎所在的平台来决定。总概来讲,在 Unix 系统中,建议使用 time.time(),在 Windows 系统中,建议使用 time.clock()。

  我们要实现跨平台的精度性,我们可以使用timeit 来代替time.

代码语言:sql
AI代码解释
复制
import timeit

start = timeit.default_timer()
do_func()
end = timeit.default_timer()
print str(end-start)

Reference

[1]http://www.cnblogs.com/youxin/p/3157099.html [2]http://coreygoldberg.blogspot.hk/2008/09/python-timing-timeclock-vs-timetime.html [3]http://www.cnblogs.com/moinmoin/archive/2011/03/18/python-runtime-measuring.html [4]http://www.cnblogs.com/BeginMan/p/3178223.html [5]http://blog.sina.com.cn/s/blog_56d8ea900100xzg3.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python获取代码运行时间的几种方法
print('Running time: %s Seconds'%(end-start))
py3study
2020/01/08
1.6K0
Python计算程序运行时间
k为datetime.timedelta类型,以上是timedelta的所有的属性和函数 利用以下代码可以获取以秒为单位的时间差,小数点后6位为微秒。
周小董
2019/03/25
1.9K0
【Python】记录程序运行时间
转载自:blog 方法1 import datetime starttime = datetime.datetime.now() #long running endtime = datetime.datetime.now() print (endtime - starttime).seconds 方法 2 start = time.time() run_fun() end = time.time() print end-start 方法3 start = time.clock() run_fun() end
蛮三刀酱
2019/09/10
1.4K0
Python中计时,看这一篇就够了
本文讨论了Python 2和python 3中计时方法,并完成了一个通用的计时装饰器。
py3study
2020/01/06
3.3K0
python获取代码运行时间
有的时候,操作大文件,或者取数,要很久,我们给脚本首尾添加一段代码就知道,这段代码整体的大致运行时间了。
py3study
2020/01/13
6730
python 日期与时间
###python 日期与时间 (time,datetime包) [toc] #####概述 在应用程序的开发过程中,难免要跟日期、时间处理打交道。如:记录一个复杂算法的执行时间;网络通信中数据包的延迟等等。Python中提供了time, datetime calendar等模块来处理时间日期,今天对time模块中最常用的几个函数作一个介绍。 ######time.time time.time()函数返回从1970年1月1日以来的秒数,这是一个浮点数。 ######time.sleep 可以通过调用time
xiangzhihong
2018/01/26
2.1K0
使用Python测量类初始化时间
要测量类初始化时间,你可以使用 Python 的 time 模块来记录开始和结束时间,并计算它们之间的差值。下面是我通了三个宵才完成的一个简单的示例,演示了如何测量类初始化的时间,以及问题详解。
华科云商小徐
2024/05/13
1560
测试python程序运行时间
经由测试,print()花费时间大约是1e-6s,decimal运行花费的时间大约是int的三倍。
py3study
2020/01/08
1.1K0
测试python程序运行时间
Python 中的 time 模块
写代码时,常常会遇到处理时间和日期的问题。在 Python 中,与时间处理最相关的模块是 time 和 datetime。今天我们介绍下 time 模块的常用功能。 time 模块包含一些函数用于获取时钟时间和处理器的运行时间,还提供了基本解析和字符串格式化工具。它是由底层 C 库提供与时间相关的函数,因此在不同的平台上会有细微的差别。 使用 time 模块前需要先引入模块 import time time.localtime([seconds]) 返回本地时间,类型为时间元组 time.struct_
Crossin先生
2018/04/17
8280
Python 复习
函数式编程 map(function, sequence): 入参是为函数和列表/元组/字符串,返回值为function(item)列表。 filter(function, sequence): 入参为函数和列表/元组/字符串,返回值为item列表/元组/字符串。 reduce(function, sequence, starting_value): 入参是为函数和列表/元组/字符串和初始值,返回值为数值 lambda : 匿名函数 回调函数 : 函数作为参数 闭包: 绑定外部变量的函数, 惰性计算, 迭代
radaren
2018/08/28
3900
python functools.wraps装饰器模块
D:\Python27\python.exe D:/Python/functools_study/完整的装饰器.py 这是不带参数的装饰器,开始执行 3 结束执行: 5.08444509009e-05 这是不带参数的装饰器,开始执行,参数为:222 5 结束执行: 2.49333364995e-05
周小董
2019/03/25
8870
​Python统计代码耗时的几种方法
本文实例讲述了Python中统计代码片段、函数运行耗时的几种方法,分享给大家,仅供参考。
吾非同
2021/04/21
18K0
​Python统计代码耗时的几种方法
Python装饰器详解
装饰器本质就是函数,作用是装饰其它函数,给其它函数增加附加功能,提高代码复用,减少代码量。
王大力测试进阶之路
2019/10/25
4180
switch与if效率实例解析·5年以下编程经验必看【Python】
绝大多数的程序员喜欢使用if判断,但是真的效率高吗?还是其它的,可能只会用if呢!我们今天就具体测一测,用事实说话,测试量100W: 本文采用的是【Python】语言进行测试,后续会有【C#】 switch效率测试代码: import random import timeit #模拟switch def switch(num): return { 0 : 1, 1 : 2, 2 : 3, 3 : 4, 4 : 5,
红目香薰
2022/11/29
2840
switch与if效率实例解析·5年以下编程经验必看【Python】
matinal:Python 控制函数运行时间
在某个Flask项目在做后端接口时需要设置超时响应,因为接口中使用爬虫请求了多个网站,响应时间时长时短。
matinal
2023/10/14
4100
Python3内置模块使用
(1)内置模块一览表 描述:模块是一个包含所有您定义的函数和变量的文件其后缀名为.py,模块可以被失败引入的以使用该模块中的函数等功能。
全栈工程师修炼指南
2020/10/23
1.9K0
Python3内置模块使用
python程序计算运行时间差
注意: 一般控制台输出的个位数前面会加上0,比如2020:01:03,21:12:09:031839,而写在datetime.datetime(…)中时,要把前面的0去掉,直接个位数计算即可,最后的031839就单独计算,不放在里面(其他更好的方法还不晓得ㄒoㄒ)
狼啸风云
2020/12/21
1.4K0
python模块part3
在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。
py3study
2020/01/03
7260
春招苦短,我用百道Python面试题备战
在这个项目中,作者 kenwoodjw 准备了近 300 道 Python 面试题,同时还包含解决方案与代码。作者主要从 Python 基础、高级语句、网页应用、数据库和测试等角度提问,读者可只关注自己需要的领域。目前该项目已经完成了很多基础和高级面试题,本文主要摘取一些 Python 面试题供大家参考。
机器之心
2019/03/15
6820
春招苦短,我用百道Python面试题备战
#小手一抬学Python# 玩转时间和日期库【附源码】
在 Python 中是没有原生数据类型支持时间的,日期与时间的操作需要借助三个模块,分别是 time、datetime、calendar。
程序员迪迪
2021/12/28
7470
相关推荐
Python获取代码运行时间的几种方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档