<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 3.11 ,即將變得更快!

          共 2327字,需瀏覽 5分鐘

           ·

          2022-06-20 19:13

          來源:CSDN


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

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

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


          CPython 3.11已比3.10提速1.25倍


          在近期的PyCon US 2022會議上,Core Python(CPython)開發(fā)者Mark Shannon分享了關(guān)于加速Python項目的細節(jié),此外,開發(fā)者還展示了在瀏覽器中運行Python代碼這一目標的進展。

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

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

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

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


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


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

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

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

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

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

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


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


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

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

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

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

          最后,對于以上Faster CPython項目加速Python的做法,你有什么看法?歡迎在評論區(qū)留言

          參考鏈接:

          https://www.zdnet.com/article/programming-languages-python-is-slow-but-its-about-to-get-faster/

          (完)


          看完本文有收獲?請轉(zhuǎn)發(fā)分享給更多人

           

          點「在看」的人都變好看了哦
          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色免费网站在线 | 成人三级麻豆精品在线观看 | 日韩一区二区三区免费播放 | A∨在线看| 躁BBB躁BBB躁BBBBBB |