成人免费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

2020-11-02 09:07:41

Pyston v2.0Python

2018-07-27 09:05:31

開源技術 軟件

2018-07-24 09:21:39

Dropbox開源文件共享應用

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

2012-05-28 14:30:46

瀏覽器蘋果

2022-09-14 09:13:02

ASGIPythonWeb

2016-09-12 14:05:27

PythonPython解釋器Web

2011-04-18 10:56:41

PythonDropBox

2020-11-01 16:14:27

PythonPyston v2.0

2010-07-22 12:25:58

Meego開發

2021-06-10 10:25:12

微軟瀏覽器Windows

2019-07-24 13:42:34

Python編程語言代碼

2018-09-18 15:58:46

硬盤JVMPython

2023-10-18 10:48:44

Python解釋器

2012-05-02 23:04:38

iOS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产成人99久久亚洲综合精品 | 欧美亚洲另类在线 | av久久| 午夜精品| 日本精品一区二区 | 国产精品美女在线观看 | 九九免费视频 | av资源在线看 | 玖玖国产 | 91九色视频 | 秋霞影院一区二区 | 久久亚洲欧美日韩精品专区 | 国产精品亚洲第一区在线暖暖韩国 | 国产特级毛片 | 91免费入口 | 国产99久久精品一区二区永久免费 | 黄免费在线 | 91精品国产欧美一区二区 | 中文字幕国产视频 | 我想看一级黄色毛片 | 国产精品一区二区福利视频 | 成年人在线观看 | 99精品久久久久久中文字幕 | 四虎影音 | 秋霞a级毛片在线看 | 欧美日韩在线观看视频网站 | 国产美女视频黄a视频免费 国产精品福利视频 | 日批免费观看 | 在线精品一区二区三区 | 成人一区二区三区在线观看 | 日韩三级在线观看 | 亚洲视频免费 | 在线观看亚洲专区 | 久久国产精品一区二区三区 | 1204国产成人精品视频 | 男女视频在线观看 | 久久久精品一区 | 日本a级大片 | 免费黄色大片 | 91影视| 久久精品国产久精国产 |