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

歡迎光臨散文網 會員登陸 & 注冊

六星源課堂:2022年 Python 語言峰會—沒有 GIL 的 Python!

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

關于python GIL的話題已經被社區(qū)討論了無數(shù)遍了,最近在2022年語言峰會上山姆·格羅斯他向與會者介紹了 nogil(項目名稱很有意思,直譯: 沒有gil,真直接) 的最新情況,該項目于 2021 年 10 月首次宣布時席卷了 Python 社區(qū)。

GIL 或“全局解釋器鎖”是 Python 防止線程之間真正并發(fā)的關鍵特性,即在只運行一個 Python 進程時很難同時執(zhí)行多個任務。以前移除 GIL 的主要帶頭人是拉里·黑斯廷斯,他的著名“Gilectomy”項目。Gilectomy 項目最終被放棄,因為它使單線程 Python 代碼變慢。

在會上山姆·格羅斯介紹了nogil項目的進展情況,目前已選擇 3.9 作為目標,因為達到早期采用水平對于判斷整個項目是否可行非常重要。如果第三方包在使用 nogil 時不起作用,早期采用者將無法有效地使用該項目。與 Python 3.10 相比,第三方包對 Python 3.9 的支持仍然更廣泛,因此 Python 3.9 作為基礎分支目前仍然比 3.10 或主分支更有意義。

山姆·格羅斯介紹的另一個更新是他在線程安全方面做出了改變。為了使 Python 在沒有 GIL 的情況下有效地工作,許多代碼需要添加新的鎖以確保它仍然是線程安全的。然而,向現(xiàn)有代碼添加新鎖可能非常困難,因為在某些領域可能會出現(xiàn)大幅減速。格羅斯的解決方案是發(fā)明一種新型鎖,一種“更吉利”的鎖。

山姆·格羅斯這次還帶來一個提議,在 Python 3.12 中引入一個新的編譯器標志,該標志將禁用 GIL,格羅斯的提議受到了聚集的核心開發(fā)人員的興奮和強烈質疑,Carol Willing 質疑 nogil 繼續(xù)作為 CPython 的一個獨立分支是否更有意義,而不是讓 Gross 旨在將他的工作合并到 CPython 本身的主要分支中。然而,格羅斯回應說,這“不是通往成功的道路”。

pydantic 庫的維護者 Samuel Colvin 對新提案是針對編譯器標志而不是運行時標志表示失望。Colvin 評論說:“如果可以從 Python 內部更改設置,我不禁想到采用水平會大大提高”。

Barry Warsaw 和 Itamar Ostricher 都向 Gross 詢問了如果他們想要支持新模式,nogil 可能對第三方庫產生的影響。Gross 回應說,對許多庫的影響是微乎其微的——對像 scikit-learn 這樣的庫完全沒有影響,numpy 可能只有 15 行代碼。Gross 說,科學圖書館對 Gross 產生了相當大的興趣,因此相信構建單獨的 C 擴展以支持 nogil 模式的壓力不會過于沉重。Carol Willing 鼓勵 山姆·格羅斯 參加科學計算會議,收集更多反饋。

與會者還非常關注 nogil 的引入可能對 CPython 開發(fā)產生的影響。一些人擔心引入 nogil 模式可能意味著在 CI 中運行的測試數(shù)量必須翻倍。其他人擔心如果同時支持兩個不同版本的 CPython,維護負擔會增加:一個帶有 GIL,一個沒有。

總的來說,在場的人對諾吉爾模式還是有很大的興奮和好奇的。然而,關于該項目的后續(xù)步驟的重大問題仍未解決。

本次分享就到這里了,關于python更多技巧跟疑問,請移步六星源課堂解答~

六星源課堂:2022年 Python 語言峰會—沒有 GIL 的 Python!的評論 (共 條)

分享到微博請遵守國家法律
平邑县| 蓬安县| 达拉特旗| 江北区| 张家川| 龙井市| 龙川县| 宁海县| 六安市| 清新县| 遂川县| 成都市| 会昌县| 龙泉市| 望江县| 呼玛县| 赣州市| 永清县| 朝阳县| 江城| 衡阳市| 逊克县| 海晏县| 黔江区| 且末县| 太康县| 长治市| 临武县| 崇明县| 武定县| 友谊县| 万山特区| 宿松县| 辉县市| 治多县| 广丰县| 马山县| 和政县| 永吉县| 临沭县| 巴南区|