簡體   English   中英

Python:PyPy:SciPy /卡方分布?

[英]Python: PyPy: SciPy/Chi-square distribution?

我有一個Python項目,其中性能非常重要。 老實說,我知道Python(至少是純Python)不是最好的工具,但無論如何我都在使用它,因為我想分發一些非常簡單的純python版本的一些研究代碼,以便人們可以修改它,等,而不必設置復雜的環境。 (我還有一個替代實現,用D編寫,速度更快但更難破解。)

我使用PyPy作為我的翻譯,並向任何使用此代碼的人推薦它。 這給了我合理的速度。 然后我決定調整算法並需要從SciPy訪問一些函數(我需要的只是CDF,生存函數和卡方陣的逆CDF)。 我嘗試在CPython中運行我的代碼來訪問SciPy,它作為糖蜜很慢。

有人可以建議三件事之一:

  1. 一個kludge,允許我使用PyPy的一些片段SciPy。

  2. 在自由主義許可下,我需要更純粹的python實現卡方分布功能嗎?

  3. 一種JIT CPython瓶頸的方法? 我知道Psyco,但它似乎沒有維護,只適用於32位系統。

SciPy還沒有在PyPy上運行,雖然有一些工作可以讓它相對較快地發生,只要你願意每晚使用並做一些調整,這樣你只使用支持的numpy子集(無論如何都會迅速擴展)。 我建議你現在只是嘗試將SciPy函數移植到Python,如果時間緊迫你(它們應該相對簡單,但仍然有效)。 在PyPy網站上還有一個numpy籌款活動,以便更快地實現這一目標:)

編輯:這是通過嵌入CPython在pypy上運行的matplotlib: http ://baroquesoftware.com/~fijal/extreme_hacks.png

EDIT2:閱讀http://morepypy.blogspot.com/2011/12/plotting-using-matplotlib-from-pypy.html以獲取示例。

干杯,fijal

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM