質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

2653閲覧

Pythonのpycファイルと実行速度について

teefpc

総合スコア112

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/02/21 12:52

Pythonでファイルをimport したとき、pycファイルができます。これは、コンパイルされたファイルだそうです。
速度を重視するなら、実行ファイルには何も処理を書かずに、import させた方が良いのでしょうか。

[sample.py]

Python

1from file1 import * 2main() #実行ファイルにはこれだけ

[file1.py]

Python

1def main(): 2 # Process 3 pass 4

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/02/21 22:22

本当にしたいことは高速化で、その一つの手段として「コンパイルはどうだろうか」という質問でしょうか?それとも、(たまたまわかる範囲の質問がコンパイルの有無だっただけで)ホンネは「コンパイルに限らずPythonを高速化できればなんでも検討したい」という質問でしょうか? 高速化したい処理にもよりますが、Pythonでも高速化を実現する方法はまだごろごろ出てきそうです。
teefpc

2022/02/22 05:17

ありがとうございます。特に高速化を目指しているわけではありません。import したファイルがpycに変換されていたので、疑問に思いました。要はメモリキャッシュと比較して、データに差異がなければ読み込まないだけなのですね。
guest

回答2

0

コンパイルというのは、何かも元に別のものを作り出すことです。

Python処理系はソースコードを元にPython バイトコードを作ります。
Python バイトコードについてはdis --- Python バイトコードの逆アセンブラをお読みください。

このコンパイルはC/C++などのコンパイルと異なり、対象のCPUの機械命令を作り出すものではありません。
あるソースファイルを一度importすると自動的にpycファイルが作成されますので、性能に関しては気にする必要はありません。

投稿2022/02/22 00:10

ppaul

総合スコア24672

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

pythonは、プログラムを実行する時に、まず、コンパイルし、それから実行するようにできています。それはimportするしないに関係ありません。

pycファイルはコンパイルの結果を保存したもので、次回から、ソースコードより新しいpycがあればそれを読むようになっています。
その場でコンパイルするための時間が節約はできますが、実行速度にそれほど大きな影響は無いように思います。

投稿2022/02/21 14:11

TakaiY

総合スコア14298

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問