私は、Tkinterを使ってsierpinskiガスケットを描くためのpythonスクリプトを書いています。そして、python IDLEから実行すると、プログラムはbashから実行すると約半分の時間を要します。私はPythonでtimeモジュールを使ってスクリプトを実行しました。なぜこのようなことが起こっているかについてのアイディアは高く評価されます。ありがとうbashのPythonスクリプトをIDLEのコードを実行するよりも遅く
答えて
Rafeが正しいと思われます - あなたはインポートを制限し、起動時間に違いがあるかどうかを調べることでこれをテストできます。つまり、あなたが
from Tkinter import *
を行っているならば、あなたが実際に必要なモジュールのみをインポートすることに変更。または、パッケージ内の何も使用せずにセットアップして壊す、簡単なヌルプログラムを書いてください。これは、両方でかなり同じように動作するはずです。
何かがあれば、IDLEはより遅く実行されます。 –
その種類の面白いが、私は実行可能ファイルにスクリプトを変更し、コマンドラインから実行すると、IDLEから実行するときとほぼ同じ時間がかかります。コマンドラインのインタプリタへの引数としてスクリプトを明示的に渡してスクリプトを実行すると、再び2倍の時間がかかります。 –
おかげさまで多くの人に感謝します。コマンドラインからcprofilerを使ってスクリプトを実行すると、時間が激しかったので、cprofilerがスクリプトの実行時間にオーバーヘッドを追加していたと思います。 –
あなたがそれを通過しているからです。他の答えに対するあなたのコメントに基づいて、あなたはpython -c
を使用していて、IDLEでは実行コマンド(または同様のもの)を使用しています。 python -c
のパフォーマンスに関する問題は認識していませんが、IDLEで実行してsomescript.pyを実行すると、python somescript.py
に相当します。
実際にはpython -c
を使用してスクリプトを実行する必要があります。小さなスニペットの場合はそれ以上です。
おそらく、IDLEを使用するときにTkinterがすでに使用されていることと関係があります。私はこれがTkinter以外のアプリケーションではうまくいかないと思います。 –