Pythonで簡単にベンチマークがとれるBenchmarkerが便利
2010-09-20 - ⧖ 2.0 minPythonでベンチマーク用のライブラリを探していたら、 Benchmarker という良さげなモジュールを見つけたので、メモと紹介をかねてポスト。
from test .pystone import Proc0
from benchmarker import Benchmarker
bm = Benchmarker ()
bm ('pystone Proc0(1000)' ).run (Proc0 , 1000 )
bm ('pystone Proc0(10000)' ).run (Proc0 , 10000 )
bm ('pystone Proc0(5000)' ).run (Proc0 , 5000 )
bm .print_compared_matrix ()
$ python marker.py
utime stime total real
pystone Proc0(1000 ) 0.020 0.000 0.020 0.026
pystone Proc0(10000 ) 0.230 0.000 0.230 0.237
pystone Proc0(5000 ) 0.120 0.000 0.120 0.119
-------------------------------------------------------------------------------
real [01] [02] [03]
[01] pystone Proc0 (1000 ) 0.026s - 812.8% 355.9%
[02] pystone Proc0 (10000 ) 0.237s -89.0% - -50.1%
[03] pystone Proc0 (5000 ) 0.119s -78.1% 100.2% -
かんたんでしょ?
Python2.5以上の場合はwithステートメントが使えます。
from test .pystone import Proc0
from benchmarker import Benchmarker
bm = Benchmarker ()
with bm ('pystone Proc0(1000)' ):
Proc0 (1000 )
with bm ('pystone Proc0(10000)' ):
Proc0 (10000 )
with bm ('pystone Proc0(5000)' ):
Proc0 (5000 )
bm .print_compared_matrix ()
かんたんでしょ?
いじょ。