zoukankan      html  css  js  c++  java
  • Python内置性能分析模块timeit

    timeit模块

    timeit模块可以用来测试一小段Python代码的执行速度。

    class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)

    Timer是测量小段代码执行速度的类。

    stmt参数是要测试的代码语句(statement);

    setup参数是运行代码时需要的设置;

    timer参数是一个定时器函数,与平台有关。

    timeit.Timer.timeit(number=1000000)

    Timer类中测试语句执行速度的对象方法。number参数是测试代码时的测试次数,默认为1000000次。方法返回执行代码的耗时,一个float类型的秒数。

    举例

    from timeit import Timer
    # 直接代码
    timer = Timer('print("a",end=",")')
    print(timer.timeit())  # 默认100万次
    timer = Timer('print(b,end=",")', 'b=2')
    print(timer.timeit(number=5))  # 2,2,2,2,2,1.9295682939906674e-05
    # 方法
    def t():
        print("t",end=",")
    
    timer = Timer('t()', 'from __main__ import t')
    print(timer.timeit(number=5)) #t,t,t,t,t,1.68324042667271e-05
    
    # 比较列表几种添加元素的方法 + append insert 列表推导式 list()方法
    def t1():
        li = []
        for i in range(1000):
            li = li + [i]
    
    
    def t2():
        li = []
        for i in range(10000):
            li.append(i)
    
    
    def t3():
        li = []
        for i in range(10000):
            li.insert(0, i)
    
    
    def t4():
        li = [i for i in range(1000)]
    
    
    def t5():
        li = list(range(10000))
    
    
    timer = Timer('t1()', 'from __main__ import t1')
    print("+", timer.timeit(number=1000))
    timer2 = Timer('t2()', 'from __main__ import t2')
    print("append", timer2.timeit(number=1000))
    timer3 = Timer('t3()', 'from __main__ import t3')
    print("insert", timer3.timeit(number=1000))
    timer4 = Timer('t4()', 'from __main__ import t4')
    print("i for i in range", timer4.timeit(number=1000))
    timer5 = Timer('t5()', 'from __main__ import t5')
    print("list(range(10000)", timer5.timeit(number=1000))
    
    # + 1.7064962406261983
    # append 1.0096170504865387
    # insert 24.474472632563394
    # i for i in range 0.03823213773997125
    # list(range(10000) 0.2569790843007844
    # 列表推导式真是快,insert真是慢
     
  • 相关阅读:
    解决This application failed to start because it could not find or load the Qt platform plugin "windows
    计算几何-凸包-toleft test
    Bit Operation妙解算法题
    带线表格据gt生成无线表格
    caffe的python接口提取resnet101某层特征
    camelot工具进行pdf表格解析重建
    python批量爬取文档
    IP被封检测地址
    驱动人生后门清除方案
    应用安全
  • 原文地址:https://www.cnblogs.com/greatfish/p/5995207.html
Copyright © 2011-2022 走看看