8

Python コードを書き、それを既にコンパイルされた ".pyc" ファイルに入れて使用することができます。パフォーマンスの点で何らかの利点があるのか​​ 、それともコードをグループ化する一種のモジュラーな方法に過ぎないのだろうかと思っています。

どうもありがとう

4

5 に答える 5

9

プログラムの過程でパフォーマンスが向上することはありません。起動時間を改善するだけです。

プログラムは、「。pyc」または「.pyo」ファイルから読み取られた場合、「。py」ファイルから読み取られた場合よりも高速に実行されません。'.pyc'または'.pyo'ファイルの方が速いのは、それらがロードされる速度だけです。

http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html

そして、次の最適化であるpyoファイルは、コードからdoc文字列を削除するだけです。

于 2012-02-28T16:41:02.530 に答える
1

.pyc ファイルについてはよくわかりませんが (少なくとも .pyc ファイルを再度作成しないことは非常に小さなメリットです)、最適化されたバイトコード (.pyo ファイル) を生成する Python インタープリター用の「-O」フラグがあります。

于 2012-02-28T16:39:04.213 に答える
1

はい、単に .py ファイルを初めて実行すると、.pyc ファイルにコンパイルされるからです。したがって、基本的にはコンパイル時間を追加する必要があります。その後、.pyc ファイルを常に使用する必要があります。

于 2012-02-28T16:39:17.810 に答える
0

Python ランタイムがソースを解析してバイトコードにコンパイルするのにかかった時間は、ほんの一瞬です。これは、最初の実行/インポート時にのみ発生します。

携帯性が失われます。

ここを参照してください。

プログラムは、「.pyc」または「.pyo」ファイルから読み取られた場合、「.py」ファイルから読み取られた場合よりも速く実行されません。「.pyc」または「.pyo」ファイルの唯一の高速化は、それらの読み込み速度です。

于 2012-02-28T16:39:06.180 に答える
0

この質問の受け入れられた回答に基づいて:なぜメインの実行可能な Python スクリプトがモジュールのような pyc ファイルにコンパイルされないのですか? .

モジュールがロードされると、py ファイルは pyc ファイルに「バイト コンパイル」されます。タイム スタンプは pyc ファイルに記録されます。これは、実行を高速化するためではなく、読み込みを高速化するために行われます

于 2012-02-28T16:39:53.067 に答える