バイトコードコンパイル

Pythonインタプリタは、ソース中間言語コンパイルしてくれる。全て自動で。余り深く考える必要はない。(今のところ)

  • 中間言語コンパイルされたソースは*.pycでソースと同じフォルダに作成される
  • 中間言語コンパイルされたと言っても、処理速度の最適化は行っていない*1
  • 中間言語コンパイルされたソースはロードが早くなる。*2
  • 最適化するときは -OO や-O フラグをつけて実行する
    • 2.4での現状はassertを除去する。
    • 2.4での現状は__doc__(docstring)を除去する程度
    • 余り高速化は望めない
    • ただし、バイトコードなのでソースを隠蔽するのに使えるよ

PHPのZend_Optimizer程ではないが、APCのキャッシュ機構に近いことは出来るよ。ってこと。

*1:Javaだとjavac.exeが中間言語コンパイル時に、かなりのソース最適化を行う。Stringやループ処理。等々。

*2:たぶんsyntax checkをスルーするからだと思う