最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

六星源課堂:Python 即將變得更快,在不久它會(huì)成為最快捷的語言之一!

2022-05-23 09:55 作者:六星源課堂  | 我要投稿

作為一門異常受歡迎的編程語言,Python的優(yōu)點(diǎn)有很多,比如:易于學(xué)習(xí)、用途廣泛、有成千上萬個(gè)用于數(shù)據(jù)科學(xué)的有用的庫。但同時(shí),Python一直被詬病的就是它運(yùn)行速度太慢。

在去年的PyCon US 2021大會(huì)上,Python之父Guido van Rossum曾表示:要在2022年的Python 3.11中,將Python速度提高2倍,4年內(nèi),速度提升5倍,以解決Python與C++等其他編程語言相比在速度上的關(guān)鍵缺點(diǎn)。

如今,速度太慢的情況在Python 3.11中即將改變。在今年晚些時(shí)候發(fā)布穩(wěn)定版之前,目前正處于其預(yù)覽版(版本3.11.0b1)的第一個(gè)測(cè)試階段。

CPython 3.11已比3.10提速1.25倍

在近期的PyCon US 2022會(huì)議上,Core Python(CPython)開發(fā)者M(jìn)ark Shannon分享了關(guān)于加速Python項(xiàng)目的細(xì)節(jié),此外,開發(fā)者還展示了在瀏覽器中運(yùn)行Python代碼這一目標(biāo)的進(jìn)展。

去年,微軟資助了Python軟件基金會(huì)(PSF)的一個(gè)項(xiàng)目——“Shannon Plan”,該項(xiàng)目由Python創(chuàng)造者Guido van Rossum和Mark Shannon領(lǐng)導(dǎo),承諾在今年的Python 3.11中將其速度提高2倍。其愿景是促使Python向C語言的性能發(fā)展。

微軟在2020年聘請(qǐng)了van Rossum,并讓他自由選擇任何項(xiàng)目。在去年的PyCon US 2021會(huì)議上,他稱自己 "選擇回到我的根源",并將致力于解決Python著名的性能不足問題

性能也許并不是Python的首要任務(wù),因?yàn)闄C(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的采用得益于TensorFlow、NumPy、Pandas以及更多的平臺(tái),如AWS的Boto3 SDK for Python。這些平臺(tái)每月被下載數(shù)千萬次,并在通常不受硬件限制的環(huán)境中使用。

Faster CPython項(xiàng)目(GitHub地址:https://github.com/faster-cpython/ideas/blob/main/main-vs-310.rst)提供了一些關(guān)于CPython 3.11在過去一年的性能更新。在PyCon US 2022會(huì)議之前,該項(xiàng)目公布了更多的結(jié)果:在幾十個(gè)性能指標(biāo)上對(duì)3.11測(cè)試預(yù)覽版和3.10進(jìn)行了比較,顯示3.11.0b1總體上比3.10快1.25倍。

新的字節(jié)碼解釋器使錯(cuò)誤處理更高效

Shannon對(duì)該項(xiàng)目提高Python性能的能力持現(xiàn)實(shí)態(tài)度,但他相信這些改進(jìn)可以將Python的可行用途擴(kuò)展到更多的虛擬機(jī)。他去年在Python增強(qiáng)提案(PEP)659中寫道:“Python被廣泛認(rèn)為是緩慢的。

雖然Python永遠(yuǎn)達(dá)不到C、Fortran甚至Java等低級(jí)語言的性能,但我們希望它能與腳本語言的快速實(shí)現(xiàn)相媲美,如Javascript的V8或Lua的LuaJIT。具體來說,我們希望通過CPython實(shí)現(xiàn)這些性能目標(biāo),使所有Python用戶受益,包括那些無法使用PyPy或其他替代性虛擬機(jī)的用戶?!?/p>

在PEP 659中詳述的關(guān)鍵方法是:“專門化的、自適應(yīng)的解釋器,但它在一個(gè)非常小的區(qū)域內(nèi)積極地專門化代碼,并能夠迅速和低成本地適應(yīng)錯(cuò)誤的專門化。”

如上所述,虛擬機(jī)的優(yōu)化是 "昂貴的",往往需要很長的 "預(yù)熱 "時(shí)間。為了避免這種時(shí)間開銷,虛擬機(jī)應(yīng)該推測(cè)“即使在一個(gè)函數(shù)執(zhí)行幾次后,專門化也是合理的”。所以,解釋器需要持續(xù)地且非常低廉地進(jìn)行優(yōu)化和去優(yōu)化。

這應(yīng)該會(huì)產(chǎn)生一個(gè)更快的CPython解釋器,它可以在程序執(zhí)行過程中跟蹤單個(gè)字節(jié)碼。據(jù)Python軟件基金會(huì)(PSF)稱,新解釋器的工作幾乎已經(jīng)完成,但仍需要完成循環(huán)和二進(jìn)制操作的動(dòng)態(tài)專門化。

此外,3.11的內(nèi)存消耗與3.10相比沒有變化。

CPython JIT編譯器即將實(shí)現(xiàn)

關(guān)于Python性能的即時(shí)(JIT)編譯器問題,根據(jù)Python軟件基金會(huì)(PSF)對(duì)該事件的報(bào)道,Shannon認(rèn)為這不是一個(gè)優(yōu)先事項(xiàng),可能最早也要到Python 3.13才能實(shí)現(xiàn)。

此外,用于數(shù)據(jù)科學(xué)的Anaconda Python發(fā)行版的制造商Anaconda,正在支持Pyston項(xiàng)目,該項(xiàng)目是Python的一個(gè)實(shí)現(xiàn),承諾比Python有速度上的提高。

Anaconda在加速Python方面較早的努力之一是Numba項(xiàng)目,這是一個(gè)基于LLVM的CPython JIT編譯器,它可以加速在CPU或GPU上運(yùn)行的Python數(shù)值函數(shù),但不能優(yōu)化整個(gè)程序,也不能解決更廣泛的Python用例。另一個(gè)是PyPy,它是CPython的一個(gè)實(shí)現(xiàn),帶有JIT編譯器以獲得更快的性能。

根據(jù)Faster CPython項(xiàng)目的實(shí)施計(jì)劃(GitHub地址:https://github.com/markshannon/faster-cpython/blob/master/plan.md),CPython 3.12可能會(huì)獲得一個(gè) "用于小區(qū)域的簡單JIT編譯器",在運(yùn)行時(shí)使用相對(duì)簡單、快速的編譯器編譯小區(qū)域的專門代碼;而CPython 3.13將擴(kuò)展編譯區(qū)域,增強(qiáng)編譯器以生成卓越的機(jī)器代碼。

以上為本次分享的全部內(nèi)容,如果對(duì)編程想獲得更多了解,請(qǐng)前往六星源課堂,開啟你的編程之旅~·

六星源課堂:Python 即將變得更快,在不久它會(huì)成為最快捷的語言之一!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
定陶县| 香河县| 哈尔滨市| 北碚区| 南阳市| 措美县| 万州区| 偏关县| 吉首市| 疏附县| 彝良县| 徐州市| 蓬莱市| 永吉县| 普格县| 太仆寺旗| 阿勒泰市| 米脂县| 丰都县| 阿拉善盟| 雅安市| 屯门区| 叶城县| 建平县| 石狮市| 青川县| 定边县| 廉江市| 竹北市| 苍溪县| 桐乡市| 玉田县| 浦江县| 阿克| 闵行区| 梓潼县| 安西县| 东港市| 南陵县| 甘德县| 玉龙|