當前位置:
首頁 > 知識 > Dropbox創建了一種新的Python編譯器:mypyc

Dropbox創建了一種新的Python編譯器:mypyc

Dropbox創建了一種新的Python編譯器:mypyc

除了它是一個非常大的依賴,我對使用Cython進行測試或在stdlib中使用它沒有強烈的意見。不過我認為在CPython中添加一個"Cython-lite"工具不是一個好主意,創建和維護該工具將會帶來很多工作。

說到這兒,Dropbox使用了一種新的編譯器叫作"mypyc"。

mypyc會將帶有類型注釋的python代碼編譯為優化的c代碼。它的首要目標是用來編譯mypy以使其更快,所以我希望該項目會最終完成。基本上,mypyc會和Cython極其類似,但是mypyc是python的子集而不是超集。成為python的一個嚴格子集意味著mypyc可以在PyPy中執行得很好。由於它是一個嚴格的靜態類型系統,他們甚至可以最終進行一些優化。

使用cffi可以輕鬆實現與c庫的連接。我更願意在CPython的stdlib中開始使用mypyc+cffi這種組合。Cython是一個相對複雜並且文檔匱乏的語言。我在uvloop和asyncpg中編寫了數千行的Cython之後深有體會。熟練使用Cython的作用是驚人的,但是我會在CPython中謹慎地為它做廣告和應用。

我也不喜歡使用Cython去測試c API。編寫c測試是討厭的,它們的目的是使第三方工具或擴展更加的穩定。使用第三方工具測試c API去跟蹤破壞第三方工具的回歸錯誤。

英文原文:https://mail.python.org/pipermail/python-dev/2018-August/154951.html
譯者:xiaocai

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python部落 的精彩文章:

簡介Python3中的元組
IPython 7.0發布:Async REPL

TAG:Python部落 |