4

Stackless PythonとPyQtでどのような経験がありますか?

人々が対処すれば私は幸せになる問題:

  1. Stackless用のPyQtのコンパイル:PyQtは特にStackless用にコンパイルする必要がありますか?コンパイルはスムーズですか?バインディングなどの問題。

  2. 安定性:予期しないクラッシュ、フリーズ、一時停止、その他の異常はありますか?

  3. メモリ管理:メモリリークのヒント。Stackless / PlainVanillaPyQtアプリケーションに必要なRAMの比較

  4. ソフトウェアエンジニアリングのエンパワーメント:スタックレスパワードPyQtアプリケーションの制御フローモデルの非常に短い概要

  5. 学んだ教訓:学んだ苦痛な教訓、避けるべき罠、あなたが経験したかもしれない取り組むべき問題

幸せになる

4

2 に答える 2

0

私は数ヶ月前にこの道をたどろうとしましたが、努力する価値がないと判断しました。

スタックレスバージョンのPythonに対して(Windows上で)PyQtのバイナリインストールを実行することはできましたが、手動でアクセスしていくつかのファイルを変更する必要があることがわかりました。エラーメッセージが表示され(申し訳ありませんが、それが何であったかを忘れてしまいました)、グーグル検索で数年前の解決策が見つかりました。新しいコードには古い修正が含まれていなかったため、変更はそれほど難しくなく、(私が正しく覚えていれば)Pythonで行われたため、再コンパイルは必要ありませんでした。

しかし、それは私にとって取引のブレーカーでした。Qtの更新は、PyQtの更新と同様に定期的に行われるため、コードを継続的に修正したくありませんでした。StacklessとPyQtは、完全にチェックアウトするのに十分に一緒に使用されていないだけです。問題をデバッグするのが難しいリスクがかなり高いことがわかりました。スタックレスの作者​​がPyPyに移行したことを考えると、これは特に当てはまります。事前にお詫び申し上げます-スタックレスPythonでの開発を停止している作者のために見つけたリファレンスと、修正しなければならないエラーの詳細があればいいのにと思います-StackOverflowの詳細を逆流させるとは思っていませんでした。

そこで、スタックレスではなく、バニラPythonでPyQtを実行することにしました。

ところで、私はまた、信号/スロットをスタックレスコードと混合することは、マルチスレッドの問題を解決するための完全に異なる方法であるため、混乱するだろうと思いました。

幸運を!

于 2010-01-12T06:40:11.777 に答える
0

速度の最適化のためにこれらすべてに興味がある場合:

Unladen Swallow (ウィキペディアはこちら) をご覧ください。Google (YouTube は 100% Python であるため) は、速度を 5 倍から 10 倍にする Python 用の JIT コンパイラに取り組んでいます (現在の仮想マシンよりも Java の速度にはるかに近くなります)。最良の部分は、既存のすべての Python コードで動作することです。つまり、他の Python 最適化プロジェクトに関連するすべての問題を心配する必要はありません。

低レベルでの最適化の必要性を保証するのに十分な大規模なプロジェクトを開発している場合は、通常の Python で開発し、Unladen Swallow が本番環境に登場したときに現在の VM から変更しても問題ないと思います。

于 2010-01-04T18:48:29.887 に答える