質問: pythonのコードをコンパイルできると知り、実効速度を比べてみました。 ``` for i in range(0, 1000000): print i ``` こちらのコードで比較しています。 ``` $ time python main.py python main.py 0.80s user 0.64s system 71% cpu 2.000 total $ time python main.py python main.pyc 0.79s user 0.64s system 68% cpu 2.074 total ``` コンパイルと聞いたので、Javaなどのように単純に実行速度が早くなるのかと思ったのですが、変わりませんでした。 どのような時に有効で、どのようなときに使われるのが一般的なのかおしえていただけますか。
回答: python のような言語はソースを一旦バイトコードと言われる疑似言語に変換して実行します。 なので、あらかじめバイトコードに変換したものを使うとそのソースからの変換の部分の時間が省略できることになります。 だから、非常に長いようなソースの場合効果があると思われます。(逆に短いソースの場合はほとんど効果が感じられないかもしれないし、逆に読み込む時間が長くなるという逆効果の場合もあるかもしれません) また、ソースを直接他の人に読ませたくない場合などに使えるかもしれません。