2007-08-01

Pythonでdocstringを書くとちょっとパフォーマンスが落ちる件


昔からそうだったんだけど、Python2.5の今になってもこの件はかわってない
みたいだ。


#!/usr/bin/python
# _*_ coding: euc_jp _*_

def withoutdoc(n):
return n

def withdoc(n):
"""ここにすごおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおく丁寧なドキュメントを
たーーーーーーーーーーーーーーーーーーーーーーーーっぷり書きます。"""
return n

if __name__=='__main__':
from timeit import Timer
t = Timer("withoutdoc(1)", "from __main__ import withoutdoc")
print t.timeit()

t = Timer("withdoc(1)", "from __main__ import withdoc")
print t.timeit()

結果

ayu@~/work% ./performance_test.py
0.238394021988
0.246536016464

100万回呼び出して、0.01秒の違いなので、まあ、気にならないと言えば気に
ならないんだけど。