2009-11-17 54 views
4

您對Stackless Python和PyQt有什麼經驗?Stackless Python和PyQt

問題,我會很高興,如果員工的地址:PyQt的的

  1. 編制無堆棧:不PyQt的需要Stackless的被特別編譯?編譯順利嗎?綁定等問題

  2. 穩定性:任何意外的崩潰,凍結,暫停和其他怪異?

  3. 內存管理:任何內存泄漏的提示。需要一個無堆棧/普通的香草PyQt的應用

  4. 的RAM比較
  5. 軟件工程授權:對Stackless的供電PyQt的應用

  6. 經驗教訓流量的控制模型很短的輪廓:任何慘痛教訓,要避免的陷阱,問題解決您可能遇到

是愉快的

回答

0

幾個月前我試圖走上這條路,並決定不值得付出努力。

我能夠針對無堆棧版本的Python運行PyQt(在Windows上)的二進制安裝,但是我發現我必須手動進入並更改一些文件。我收到了一條錯誤消息(對不起,我忘記了它是什麼),谷歌搜索導致幾年前的解決方案。較新的代碼沒有包含舊的修復程序,所以更改並不太困難,並且(如果我沒有記錯的話)它是用python編寫的,所以不需要重新編譯。

但是這對我來說是一個難題。 Qt更新定期發佈,PyQt更新也是如此,我不想不斷修復代碼。 Stackless和PyQt根本不夠用,不能徹底檢查。我發現很難調試問題的風險很高。鑑於stackless的作者已經轉向PyPy,這一點尤其如此。讓我先提前道歉 - 我希望我有我找到的作者停止堆棧python開發的參考資料和更多關於我必須修復的錯誤的詳細信息 - 我沒想到會在Stack Overflow上回顧細節。

所以我選擇在香草Python上運行PyQt而不是無堆棧。順便說一下,我還認爲混合信號/插槽與無堆棧代碼會混淆,因爲它們是完全不同的解決多線程問題的方法。

祝你好運!

0

如果你有興趣在所有因速度優化:

您可能想查看Unladen SwallowWikipedia here)。谷歌(因爲YouTube是100%的Python)正在開發用於Python的JIT編譯器,將其速度提高5-10倍(使其比當前的虛擬機更接近Java速度)。最好的部分是它將與所有現有的Python代碼一起工作,這意味着您不必擔心與其他Python優化項目相關的所有問題。

我希望如果你開發了一個足夠大的項目來保證低級別的優化需求,你可以用普通的Python進行開發,然後在Unladen Swallow出來時改變當前的VM在生產中。

+0

感謝您的回覆。我想使用Stackless Python,因爲它的流程控制模型非常適合我的項目。對於這個項目,我優先考慮優化研發速度,而不是運行時速度(我預測Stackless也會加速運行時間) – 2010-01-05 08:53:33

+0

是的,我聽到它有點(5-10%或更多)。 – orokusaki 2010-01-06 15:12:08