Pythonコード実行時間測定モジュールtimeit用法解析


1.timeitモジュール
timeitモジュールは、小セグメントのpythonコードの実行速度をテストするために使用できます。
class timeit.Timer(stmt='pass)、setup='pass、timer=
  • Timerは、セグメントコードの実行速度を測定するクラス
  • である。
  • stmtパラメータはテストするコードステートメントです。
  • setupパラメータは、コードを実行する時に必要な設定です。
  • timerパラメータは、プラットフォーム(windows、unix、linux、mac)に関係するタイマー関数である。
  • timeit.timer(number=10000)
    Timer類では、ステートメントの実行速度の対象となる方法をテストします。numberパラメータはコードをテストする時のテスト回数です。デフォルトは1000(百万)回です。
    この方法は実行コードの平均消費時間を返します。floatタイプのsecondsです。
    2.timeitモジュールを使用してpythonのlist内蔵操作の時間複雑度を測定する。


    3.測定コードブロック:
    
    #    list           list       
    	
    #coding:utf-8
     
    #  timeit  
     
    import timeit
     
    #t1, +       
     
    '''
    	li1 = [1,2]
     
    	li2 = [23,24]
     
    	li = li1 + li2
     
    	#t2,     
     
    	li = [i for i in range(10000)]
     
    	#t3,      (range)       
     
    	li = list(range(10000))
     
    	#t4,        ,   .append      
     
    	li = []
     
    	for i in range(10000):
    		li.append(i)
    '''
    #      
     
    #append              
    def t1():
    	li = []
    	for i in range(10000):
    		li.append(i)
    #+       
    def t2():
    	li = []
    	for i in range(10000):
    		li += [i]
    #     
    def t3():
    	li = [i for i in range(10000)]
    #          
    def t4():
    	li = list(range(10000))
     
    timer1 = timeit.Timer('t1()','from __main__ import t1')
    print('+:',timer1.timeit(1000))
     
    timer2 = timeit.Timer('t2()','from __main__ import t2')
    print('append:',timer2.timeit(1000))
     
    timer3 = timeit.Timer('t3()','from __main__ import t3')
    print('     :',timer3.timeit(1000))
     
    timer4 = timeit.Timer('t4','from __main__ import t4')
    print('         :',timer4.timeit(1000))
    4.運転結果
    +:0.7415732323243125414
    apped:0.78721021051633232995
    リストジェネレータ:0.843147415048551
    直接変換は反復可能なオブジェクト:1.3794859628984 e-05
    [Finished in 2.0 s]
    以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。