zoukankan      html  css  js  c++  java
  • python计时

    来源:https://zhuanlan.zhihu.com/p/110005305

    2.使用time.clock()

    Python time clock() 函数以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。

    这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)

    使用time.clock()更改后的程序查看一下:

    import platform
    print('系统:',platform.system())
    
    import time
    T1 = time.clock()
    
    #______假设下面是程序部分______
    for i in range(100*100):
        pass
    
    T2 =time.clock()
    print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
    # 程序运行时间:0.27023641716203606毫秒

    3.使用time.perf_counter()

    返回性能计数器的值(以微秒为单位,1秒=1000毫秒;1毫秒=1000微秒)作为浮点数,即具有最高可用分辨率的时钟,以测量短持续时间。它包括在睡眠期间和系统范围内流逝的时间。返回值的参考点未定义,因此只有连续调用结果之间的差异有效。

    1秒 = 1000毫秒

    1毫秒 = 1000微秒

    1微秒 = 1000纳秒

    1纳秒 = 1000皮秒

    import platform
    print('系统:',platform.system())
    
    import time
    T1 = time.perf_counter()
    
    #______假设下面是程序部分______
    for i in range(100*100):
        pass
    
    T2 =time.perf_counter()
    print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
    # 系统: Windows
    # 程序运行时间:0.3007180604248629毫秒

    4.使用time.process_time()

    返回当前进程的系统和用户CPU时间总和的值(以小数微秒为单位)作为浮点数。

    通常time.process_time()也用在测试代码时间上,根据定义,它在整个过程中。返回值的参考点未定义,因此我们测试代码的时候需要调用两次,做差值。

    注意process_time()不包括sleep()休眠时间期间经过的时间。

    import platform
    print('系统:',platform.system())
    
    import time
    T1 = time.process_time()
    
    #______假设下面是程序部分______
    for i in range(100*100):
        pass
    
    T2 =time.process_time()
    print('程序运行时间:%s毫秒' % ((T2 - T1)*1000))
    # 系统: Windows
    # 程序运行时间:0.0毫秒

    写在最后:

    建议PC上使用time.perf_counter() 来计算程序的运算时间,特别是测试算法在相邻两帧的处理时间,如果计算不准确,那可能会对算法的速度过于自信。

    尤其在嵌入式的板子的开发中,性能的测试中,请仔细选择时间模块,比如某些嵌入式板子会封装专门的模块。

     
  • 相关阅读:
    Ajax
    对于本地上关联了远程的git上的项目,删除现有的关联,然后关联新创建的git项目
    UNI-APP_uni-simple-router的快速上手(路由,nui路由拦截)
    js之观察者模式和发布订阅模式区别
    Vue CLI 3.0脚手架如何在本地配置mock数据
    es6解构赋值和扩展运算符
    js Array数组详细操作方法及解析合集
    list排序
    java常用的object数据处理
    java 读写 txt 文件
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/15232571.html
Copyright © 2011-2022 走看看