2016-06-22 32 views
0

私はPythonでのPySideと私のPCと組み込みコントローラ間のModbus通信のためのmodbus_tkを使用するPythonでアプリケーションを書いています。Pythonスクリプトが.exeよりも.exeの方が遅い。

私はときpy2exeを使用して、Windowsアプリケーションファイル(.exe)に私のスクリプトをバイトコンパイル要求はPythonスクリプト(の.pyと比べ遅くコントローラに送信されていることに気付きました)。

このようなことを体験したことはありますか?それは普通ですか?私のプログラムをスピードアップするために何をすべきですか?どんな助けも大切に評価されます。

答えて

1

https://en.wikipedia.org/wiki/Py2exe

から、このプログラムは.EXEへの.pyファイルを変換しますが、それはpy2exeだけではなく、マシンコードに変換するよりも、Pythonのバイトコードをバンドルとして、それが高速に実行ことはありません。起動時のオーバーヘッドのためにPythonインタプリタを直接使用するよりも、実行速度が遅くなることさえあります。

(標準)Pythonコードをコンパイルすることはできません。

+0

それは_py2exe _...から来ています私は別のコンバータ(_cx_Freeze_のような)を試してみることをお勧めですか、それとも失われた原因ですか?私はその間に[これを]試してみます(http://stackoverflow.com/questions/138521/is-it-feasible-to-compile-python-to-machine-code) – BusyAnt

+1

Pythonをスピードアップする方法はたくさんありますコード(マルチプロセッシング、遅延プログラミング、...)が、コンパイルはできません。もしあなたが本当に超高速化したいのであれば、コンパイルされた言語でコードの重い部分(アルゴリズム的な意味で)をコード化し、Pythonから呼び出すことを検討することができます(例えばPopenで) – Paul

+0

あなたの助言に感謝します!私のPythonコードはかなり効率的だと思いますが、時間がかかるのはModbusコミュニケーションです(.exeでは.exeより長くかかる)。おそらく、私はC/C++に使用しているライブラリを変換する必要があります... – BusyAnt

関連する問題