脫皮是一個實驗性的Python到C ++編譯器。脫皮接受純粹的Python程序,並生成優化的C ++代碼。這意味著,在同一個C ++編譯器的組合,其允許翻譯Python程序成高效的機器語言。一組16個非平凡的測試程序,測量顯示2-40過Psyco的,平均約12一個典型的加速,以及2-220超過CPython的,約45平均(見我的碩士論文的第五章對右邊)。脫皮也輸出註釋的源代碼。
高性能和脫皮的優雅方式(只有6000行!)付出了代價。首先,它目前只接受靜態類型的節目。這只是意味著變量永遠只能有一個類型。因此,如一個= 1;一個='1'是不允許的。當然,一個單一的類型可以是抽象或通用(如在C ++中),這樣,如A = A(); A = B(),其中A和B有一個共同的基類,是允許的。
第二,Python程序目前不能自由使用Python標準庫。然而,一些常見的進口支持(見* _。PY)和許多其他人可以很容易地添加。問題是一個實際的問題,因為在理論上是可能的創建綁定對於大多數庫模塊。一個簡單的解決方法可以是只編譯Python程序的關鍵部分,並通過如與它進行通信文件和標準輸入和輸出。這樣一來,'主'程序可以使用完整的Python動態和標準庫,整個程序是用純Python。
脫皮仍是阿爾法的軟件,還有其他一些小的,多為暫時性,局限性。嘗試編譯程序之前,請先閱讀局限性部分仔細。我要求的回報使得GPL下可用的軟件的唯一事情,就是你,當你遇到一個問題給我一個電子郵件,這是不是在這些限制上市。這是最快的方式,讓你項目的支持,因為我通常不解決問題,我不知道。也請讓我知道,如果你想我去實現某些庫調用
什麼在此版本中是新的:
- 可擴展性又大大提高了。
- 在文件I / O數和複數大幅提高性能。
- 在三個新的模塊支持。
- 在六個新的示例程序增加了。
- 有許多其他錯誤修正和改進。
什麼在0.8版本的新:
- 在支持加入為"結構"和"陣列"模塊。
- 在三個新的例子增加了,總共57。
- 在該C64為例進行了更新,現在已經是3000多線(sloccount)。
- 的選項被添加到顯示的異常回溯(shedskin -x)。
- 在許多錯誤是固定的。
什麼版本0.1是新的:
- 在為“OS”(UNIX)改進的支持
- 添加一個JPEG解碼器的(1200線)和一些其他的方案,該組的示例程序。擴展模塊修復。
- 在改進編譯器標誌。
- 在一個重要的類型推斷修復。
- 在改進變量超載。
- 鑄造的改進。
- 修正為setslice和delslice角落的情況。
- 的xrange返回的xrange對象,而不是迭代器。
- 有幾個小錯誤修正。
在OS X
什麼是0.0.30版本的新:
- 在擴展模塊用戶定義的類支持
- 在非常快速的設定實現(FFAO)。
- 在複數的支持。
- 在很多字符串格式化的改善。
- 在無映射為NULL,而不是0,並打印為“無”。
- 在re.match_object.group接受多個參數。
- 鑄造的改進。
- 在繼承從內置的例外比異常等。
- 在散列無應現在的工作。
- 在一個重要的類型推斷的修復,和許多其他錯誤修正。
什麼是0.0.29版本的新:
- 在datetime和ConfigParser支持
- 在靜態方法和財產裝飾。
- 在FreeBSD的,OpenSolaris和64位支持。
- 在GCC 4.3補丁。
- 在支持映射鍵(“%(重點)×..'%some_dict)。
- 在改進了導入機制。 __init__小得多的一個特例的現
- 在許多修復調用祖先方法(如父.__的init __)。
- 在所有的示例程序現在編譯為擴展模塊。
- 有許多錯誤修正。
評論沒有發現