ここ2〜3日、InfoPileのパフォーマンスチューニングをしており、ちょっともたつきを感じるような部分をほとんど解消することができた。InfoPileで使用した高速化テクニックの中で効果が大きく、よくつかわれそうなものを紹介しよう。尚、以下のスクリプトはPython 2.6.4で実行した。 listよりtupleを使う 可変長である必要のないシーケンスは、できるだけlistではなくtupleを使って構築しよう。listの生成/解放コストは意外と大きいのだ。 import time def run1(): for i in xrange(1000000): [i, i+1, i+2, i+3, i+4, i+5, i+6, i+7, i+8] def run2(): for i in xrange(1000000): (i, i+1, i+2, i+3, i+4, i+5, i+6, i+