既存のアプリケーションに速度の向上をもたらすことを目指しており、可能なオプションについてのアドバイスを探しています。このアプリケーションはPythonで記述されており、wxPythonを使用しており、パッケージ化されていpy2exe
ます(私はWindowsプラットフォームのみを対象としています)。アプリケーションの一部は計算集約的であり、解釈されたPythonでは実行が遅すぎます。私はCに精通していないので、コードの一部を移植することは私にとって実際の選択肢ではありません。
だから私の質問は基本的に私が以下に概説するように私の選択肢の明確な絵を持っているのか、それとも間違った方向からこれにアプローチしているのかということです。
- pypyでの実行:今日、私はPypyの実験を開始しました-結果はエキサイティングです。pypyインタープリターからコードの大部分を実行でき、コードを変更せずに5倍以上の速度の向上が見られます。ただし、正しく理解していれば、(a)wxpythonをサポートするPypyはまだ作業中であり、(b)とにかく配布用にexeにコンパイルすることはできません。それで、私が間違っていない限り、これは私にとってはダメのように思えますか?物事をパッケージ化する方法がないので、その一部はpypyで実行されますか?
- コードをRPythonに変換し、pypyで変換する次のオプションは、実際にはコードの一部をpypy制限言語に書き直すことであるように思われますが、これはかなり大きな仕事のようです。しかし、そうすると、コードの一部を実行可能ファイル(?)にコンパイルして、ctypes(?)を介してコードにアクセスできるようになります。
- 他の制限されたオプションShedskinはここで人気のある代替手段のようですが、これは私の要件によりよく適合しますか?他のオプションはCpython、Psyco、およびUnladenのようですが、これらはすべて置き換えられるか、保守されなくなります。