Pythonで簡単にベンチマークがとれるBenchmarkerが便利
Posted on Mon, 20 Sep 2010 23:52:20 +0900
Pythonでベンチマーク用のライブラリを探していたら、 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()
かんたんでしょ?
いじょ。