import random import time import os # 空ループ def simpleLoop(cnt): start = time.time() for i in range(cnt): pass print( time.time() - start ) # フィボナッチ数(ループ版) def fivo1( cnt ): start = time.time() j = 0 k = 0 l = 1 for i in range( cnt ): j = k + l k = l l = j print( time.time() - start ) # フィボナッチ数(再帰版) def fivo2( cnt ): start = time.time() fivo2_child( cnt ) print( time.time() - start ) def fivo2_child( cnt ): if cnt == 1 or cnt == 2: return 1 else: return fivo2_child( cnt - 2 ) + fivo2_child( cnt - 1 ) # ランダム配列生成、バブルソート、バイナリサーチ def bubbleSort_linearSearch( cnt ): list = [] start = time.time() for i in range( cnt ): list.append( random.randint(0, 2147483647) ) print( time.time() - start ) start = time.time() size = len( list ) for i in range( 1, size ): j = size while j > i: j -= 1 if list[j] < list[j - 1]: list[j], list[j - 1] = list[j - 1], list[j] print( time.time() - start ) start = time.time() for i in range( 0, size ): for j in range( 0, size ): if list[i] == list[j]: break print( time.time() - start ) # ファイル出力 def outputFile( fileNum, charNum ): if not os.path.exists( "test" ): os.mkdir( "test" ) start = time.time() writeStrings = [] for i in range( fileNum ): st = "" for j in range( charNum ): st += chr( j ) writeStrings.append( st ) print( time.time() - start ) start = time.time() for i in range( fileNum ): f = open( "test/" + str( i ) + ".txt", "w" ) f.write( writeStrings[i] ) f.close print( time.time() - start ) # 6.124 ( 6.062, 5.890, 6.421 ) # simpleLoop( 100000000 ) # 5.859 ( 5.859, 5.860, 5.858 ) # fivo1( 200000 ) # 6.525 ( 6.531, 6.531, 6.515 ) # fivo2( 35 ) # 1000000 => 3.150 ( 3.140, 3.187, 3.125 ) # 1000 => 0.282 ( 0.281, 0.281, 0.286 ) # 1000 => 0.087 ( 0.077, 0.092, 0.094 ) # bubbleSort_linearSearch( 1000 ) # 0.463 ( 0.469, 0.469, 0.453 ) # 6.655 ( 7.375, 6.312, 6.280 ) # outputFile( 10000, 100 )