2

一部のタイプのランタイム コンパイルではパフォーマンスが低下しないと聞いたことがあります。公式の Python ドキュメントで.pycは、ファイルの実行は.py. (現在、リンクが見つかりません。) これはどのように可能ですか? からバイトコードを生成するのに時間がかかりません.pyか?

PHPのような言語はどうですか?実行ごとにコンパイルする必要はありませんか? なぜこれが欲しいのですか?同じスクリプトを何度も実行すると時間の無駄に思えます。

4

2 に答える 2

4

あなたが読んでいた実際のドキュメントの文脈がなければ、確かなことは言えませんが、「パフォーマンス」の意味を誤解している可能性があると思います.

起動時にバイトコードにコンパイルする必要がある場合、アプリケーションの起動は遅くなりますが、実行は遅くなりません。資格なしに、「パフォーマンス」について話す人は、起動時間について言及することはほとんどありません。

于 2010-06-27T04:28:11.730 に答える
1

Python は.pycファイルをチェックし、存在しない場合、または古い場合は、.pyファイルからバイトコードを再作成します。

ファイルシステムが書き込み可能でない場合でも、このステップはプログラムが実行される前に RAM で行われます。

そのため、Python はプログラムを実行するときにコードを 1 行ずつ解釈することはありません。

結論として、.pycファイルが存在し、現在の状態であれば、プログラムは少し早く実行を開始しますが、実行速度は同じになります。

于 2010-06-27T04:41:23.570 に答える