成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Pyston:Dropbox 正開發的開源 Python 解釋器

開發 后端 項目管理
在 Dropbox ,我們熱愛 Python ,嘗試用它來做一切可以做的事情。然而隨著規模的的變大和要處理的問題越來越多,我們開始發現繼續使用 Python 而要達到我們的性能目標有時候極其困難。

大家好,我非常激動宣布 Pyston,這是一個正在由 Dropbox 開發的開源 Python 解釋器。 這個項目的目標是產生一個高性能的 Python 解釋器,使 Python 也能用于那些被如 C++ 這樣的傳統系統語言占據的領域。

在 Dropbox ,我們熱愛 Python ,嘗試用它來做一切可以做的事情。然而隨著規模的的變大和要處理的問題越來越多,我們開始發現繼續使用 Python 而要達到我們的性能目標有時候極其困難。有時用另外一門語言重寫也起不了多大作用。我本人非常喜歡 Python , 每次當我們決定重寫什么東西的時候我都很受傷,所以我想為它做一點什么。在靜態編譯上做了一些無用功后,我們到處查資料然后發現 JIT 技術在 Javascript 上非常成功,尤其 是 Chrome 的 V8 引擎大大地改善了 Javascript 的性能。我們希望通過同樣的技術也能在 Python 上達到相同的性能提升。

Pyston 現在仍然處于初期階段,還不能投入使用。但我們希望早點在它的生命周期之初就公布并開源出來,這樣我們就能和 Python 和 JIT 社區來合作開發了。太多的細節在這篇博客寫不下,但我們想說一下我們為什么需要一個新的 Python 實現,以及講一點點 Pyston 是怎么工作的。

為什么選擇實現一個新的 Python 解釋器

早就已經有了一大堆使用 JIT 技術的 Python 實現:PyPy 使用它的 tracing JIT 來提高性能;Jython 和 IronPython 都是構建在廣泛支持 JIT 的虛擬機上的。所以為什么我們認為還值得開始創造一個新的實現呢?

簡單來說,是因為我們認為絕大多數有前景的技術都和現有的實現不兼容。比如,在 Javascript 界就因為強大的性能優勢從 tracing JIT 切換到 method-at-a-time JIT 。對 Python 是否有同樣的性能優勢還有待商榷,但由于這兩種途徑從根本上都是和現有的實現不兼容的,所以答案只能是構建一個新的 method-at-a-time JIT。

另外一個區別是我們對傳統的垃圾回收器有計劃地使用來高效地支持拓展模塊。同樣,我們現在也無法知道這是否是一種更好的方法,但這個決定對一個很難在現有的實現下進行測試的 JIT 來說是必不可少的。

從零開始的壞處就是,創造一個新的語言的實現毋庸置疑是一個巨大的任務。幸運的是, 有助于這個過程的一些工具已經開始出現了。尤其是 Pyston 是構建在 LLVM 之上的,使得我們不需要自己處理細節就可以生成上層的高質量代碼。盡管如此,一個新的 Python 實現還是一個巨大 的工程,所以 Pyson 將不會馬上就能投入使用。

它是怎么工作的

從頂層看,Pyston 將解析好的 Python 代碼轉換成 LLVM 中間代碼。然后中間代碼就通過 LLVM 的優化然后傳遞給 LLVM 的 JIT 引擎,產生可執行的機器代碼。LLVM 包含許多優化步驟和機制,使得它能產生非常快的代碼。

然而問題是 LLVM 不能推出 Python 代碼,因為動態語言不得不把所有底層的行為都隱藏在類型分派(Type Dispatch)后。為了解決這個問題,Pyston 采用類型推斷:雖然證明一個變量將會是某個特別的類型通常是不可能,但是 Pyston 經常可以根據一些確定的事實來預測某個對象會是什么類型。一旦做出 了一個預測,Pyston 將在運行時檢測這個預測,在預測所對應的快速分支和預測失敗所對應的慢速分支之間進行選擇。

Pyston 還包含許多其他的現代技術,比如為快速查找屬性和快速調用方法而設計的隱藏類和內聯緩存。你可以在 Github 頁面上找到更多的技術細節,以及一篇單獨講述這些技術細節的博文

現狀

Pyston 仍然處于初始階段,只支持 Python 語言的一個最小子集。拿基準測試數據來說話是不怎么公平的,因為 1) Pyston 不支持足夠大的基準測試,所以這不具備代表意義。2) Pyston 不支持所有運行時特性(包括一些可能帶來減速的特性),所以這不是一個同類的比較。 在這兩點注意事項下,Pyston 在性能上通常可以擊敗 CPython,但是仍然弱于 PyPy。

代碼以 Apache 2.0 許可證發布在 Github 上,技術文檔正在增加。還有大量的工作需要做, 我們正在擴張團隊:如果你對這類事感興趣,請聯系我們

請繼續關注項目的進展。你也可以在這里訂閱我們的郵件列表。

原文鏈接: Dropbox   翻譯: 伯樂在線 - atupal

譯文鏈接: http://blog.jobbole.com/65414/

責任編輯:林師授 來源: 伯樂在線
相關推薦

2021-08-31 10:04:21

PystonPythonAnaconda

2012-04-13 13:50:44

微軟Market Plac

2018-07-24 09:21:39

Dropbox開源文件共享應用

2018-07-27 09:05:31

開源技術 軟件

2020-11-02 09:07:41

Pyston v2.0Python

2012-06-18 14:06:01

MozillaiPad瀏覽器

2022-01-05 08:58:08

Python解釋器編程語言

2009-04-07 09:08:55

2021-11-01 10:21:35

微軟Microsoft DWindows 11

2022-09-14 09:13:02

ASGIPythonWeb

2012-05-28 14:30:46

瀏覽器蘋果

2021-06-10 10:25:12

微軟瀏覽器Windows

2016-09-12 14:05:27

PythonPython解釋器Web

2011-04-18 10:56:41

PythonDropBox

2010-07-22 12:25:58

Meego開發

2020-11-01 16:14:27

PythonPyston v2.0

2019-09-11 15:43:15

微軟LinuxMicrosoft T

2018-09-18 15:58:46

硬盤JVMPython

2019-07-24 13:42:34

Python編程語言代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久 | 在线观看视频福利 | 精品欧美一区二区精品久久久 | 91久久国产综合久久 | 91在线区| 精品久久久久久 | 日韩精品在线免费观看视频 | 亚洲精品国产电影 | 69av网| 91久久精品国产91久久 | 午夜视频精品 | 天堂亚洲 | 黄网站在线观看 | 麻豆av片 | 成人久久久| 亚洲精品永久免费 | 亚洲va欧美va人人爽午夜 | 国产一区免费视频 | 亚洲一区二区三区免费在线观看 | 91久久久久久久久 | 中文天堂网 | 久久99深爱久久99精品 | 久久一二区 | www.青青草| a级毛片毛片免费观看久潮喷 | 欧美一级黄色免费看 | 国产一区二区三区高清 | 成人高清在线视频 | 嫩草视频在线免费观看 | 国产中文字幕亚洲 | 久久男人 | 国产精品视频www | 国产在线精品一区二区三区 | 久久久无码精品亚洲日韩按摩 | 色噜噜色综合 | 97精品超碰一区二区三区 | 91一区二区三区 | 色频| 亚洲97 | 小草久久久久久久久爱六 | 日韩一区二区在线视频 |