chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python新提案:使全局解釋器鎖成為可選項

OSC開源社區(qū) ? 來源:OSC開源社區(qū) ? 2023-01-13 15:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

去年的 2022 Python 語言峰會上,開發(fā)者 Sam Gross 帶來了新提案:刪除全局解釋器鎖 GIL,解放多線程性能。但由于 GIL 歷史悠久,許多官方 / 非官方的 Python 包和模塊都深度融合了 GIL 模塊,徹底移除 GIL 功能可能會對生態(tài)造成影響。在 2023 年 1 月 9 日, Sam Gross 又創(chuàng)建了另一個 Python 提案 PEP 703:使全局解釋器鎖成為構(gòu)建 Python 的可選項。

f52bcf44-9299-11ed-bfe3-dac502259ad0.png

CPython 的全局解釋器鎖(“GIL”)防止多個線程同時執(zhí)行 Python 代碼,GIL 是 Python 有效使用多核 CPU 的障礙。

向 CPython 添加一個構(gòu)建配置 ( --without-gil) ,使其可在沒有全局解釋器鎖的情況下運行 Python 代碼,并進行必要的更改,以使解釋器線程安全。

這條 PEP 提案的內(nèi)容可謂是論文級別。提案中先闡述了 GIL 對 Python 并發(fā)的性能阻礙,隨后詳細分析了抽離 GIL 需要對 Python 內(nèi)部進行哪些改動:

移除全局解釋器鎖需要對 CPython 內(nèi)部進行大量更改,但對公共 Python 和 C API 的更改相對較少。

實施的變更大約分為以下四類:

引用計數(shù)、內(nèi)存管理、容器線程安全、鎖和 atomic API

由于該提案內(nèi)容實在太多,感興趣的朋友請在 PEP 703 詳情頁(https://peps.python.org/pep-0703)和 Cpython 核心開發(fā)者對該提案的討論帖(https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional/22606/10)中細閱。

目前此 PEP 已經(jīng)有了參考實現(xiàn),它的原型源于當初為了移除 GIL 而開發(fā)的 nogil 項目,該原型對單線程代碼帶來較明顯 (~10%) 性能提升。

如果該提案通過,意味著默認情況下 CPython 不會刪除或關(guān)閉 GIL,也不會讓用戶有選擇地啟用 / 刪除 GIL。因為--without-gil是一個編譯時標志,可以在從源代碼構(gòu)建 Python 解釋器時進行設置。但如果棄用該配置,會導致對解釋器的構(gòu)建和運行方式的深度侵入性更改,PEP 中也對此進行了詳細介紹。

對用戶側(cè)來說,該改動意味著如果用戶使用任何帶有編譯擴展的包,將需要獲取或構(gòu)建一個專門針對 Python 解釋器的(不同的)ABI 編譯的版本,該版本在沒有 GIL 的情況下編譯。

關(guān)于 Python GIL

由于 CPython 的內(nèi)存管理非線程安全,因此設計了 CPython 的 GIL (Global Interpreter Lock - 全局解釋器鎖),以防止競爭條件并確保線程安全。GIL 是一個互斥鎖,只允許一個線程持有 Python 解釋器的控制權(quán),從而保護對 Python 對象的訪問,防止多個線程同時執(zhí)行 Python 字節(jié)碼。

但事后看來,GIL 并不理想,因為它阻止了多線程的 CPython 程序充分利用多核處理器的性能。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4848

    瀏覽量

    88937
  • 解釋器
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    6898

原文標題:Python新提案:使全局解釋器鎖成為可選項

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    shell基本介紹及常用命令之shell基本介紹

    的shell命令Linux命令一般由三部分組成:Command [option] [parameter]。說明:1.[]部分中的內(nèi)容是可選項;2.命令,選項,參數(shù)都以空格分隔;輸入命令完畢后,按
    發(fā)表于 09-28 09:05

    施耐德電氣如何助力生命科學與電子行業(yè)發(fā)展

    低碳轉(zhuǎn)型的大勢所趨下,先進制造業(yè)對于能源與運營效率的內(nèi)生需求逐漸上升為行業(yè)發(fā)展的核心命題;與此同時,出海全球市場的戰(zhàn)略方向也為企業(yè)帶來了突破增長邊界的全新可選項。
    的頭像 發(fā)表于 09-25 16:12 ?226次閱讀

    ?SN74HCS373 Octal透明技術(shù)解析與應用指南

    Texas Instruments SN74HCS373/SN74HCS373-Q1八路透明D類包含八個D類。所有輸入均包括施密特觸發(fā)
    的頭像 發(fā)表于 09-24 10:40 ?306次閱讀
    ?SN74HCS373 Octal透明<b class='flag-5'>鎖</b>存<b class='flag-5'>器</b>技術(shù)解析與應用指南

    SMA連接類型:低損耗款性能優(yōu)勢全解析

    對需要高精度、高頻段、遠距離傳輸?shù)膱鼍皝碚f,SMA 低損耗款不是 “可選項”,而是 “必選項”—— 普通款的損耗看似不大,但疊加后會嚴重影響系統(tǒng)性能,而低損耗款通過材質(zhì)、結(jié)構(gòu)、工藝的優(yōu)化,能最大限度 “守住” 信號能量,提升系統(tǒng)效率、降低成本。
    的頭像 發(fā)表于 09-19 10:10 ?1402次閱讀
    SMA連接<b class='flag-5'>器</b>類型:低損耗款性能優(yōu)勢全解析

    機房服務需要配ups電源嗎?要配什么樣的ups電源好?

    當然需要!而且非常重要??梢赃@么說:UPS電源不是服務的“可選項”,而是保障業(yè)務連續(xù)性的“必選項”。給您一個簡單直接的比喻:UPS就是服務群的“備用心臟”和“電壓穩(wěn)定
    的頭像 發(fā)表于 09-19 10:09 ?455次閱讀
    機房服務<b class='flag-5'>器</b>需要配ups電源嗎?要配什么樣的ups電源好?

    政策風口已至!不懂綠電直連,何以打造“真”零碳園區(qū)?

    國家層面把“綠電直連”寫入園區(qū)建設任務書,為何不是傳統(tǒng)并網(wǎng)?為何必須“直連”?本文從政策脈絡、經(jīng)濟賬本、能源安全、碳減助力四維度拆解,揭示綠電直連從“可選項”躍升為“必選項”的內(nèi)在必然。
    的頭像 發(fā)表于 09-18 14:44 ?311次閱讀
    政策風口已至!不懂綠電直連,何以打造“真”零碳園區(qū)?

    2025燈具照明行業(yè)轉(zhuǎn)型:AI+MES實現(xiàn)智能化升級

    對于燈具照明行業(yè)而言,AI智能化MES已不再是可選項,而是邁向高質(zhì)量發(fā)展、構(gòu)建核心競爭力的必由之路;不要追求一步到位,可以從質(zhì)量追溯、生產(chǎn)無紙化等核心模塊開始,逐步擴展到排程、預測性維護等高級AI應用。
    的頭像 發(fā)表于 09-17 14:11 ?206次閱讀

    termux如何搭建python游戲

    模擬,支持通過APT包管理安裝軟件。搭建Python游戲開發(fā)環(huán)境前需完成以下基礎配置: 1. 更換國內(nèi)源 為提升下載速度,需替換Termux默認源為清華源,執(zhí)行以下命令: ```bash
    發(fā)表于 08-29 07:06

    為什么在MCAL版本SW32K3_S32M27x_RTD_R21-11_5.0.0中,SPI的StartNotification是不可選項

    為什么在MCAL版本SW32K3_S32M27x_RTD_R21-11_5.0.0中,SPI的StartNotification是不可選項
    發(fā)表于 03-28 06:17

    的工作原理與作用

    (Latch)作為數(shù)字電路中的基本元件,扮演著存儲單個比特信息的關(guān)鍵角色。其獨特的功能和廣泛的應用領(lǐng)域使其成為數(shù)字電路設計和實現(xiàn)的核心組成部分。本文將深入探討
    的頭像 發(fā)表于 02-03 16:53 ?3426次閱讀

    電路工作原理 自電路與常開電路的區(qū)別

    一、自電路工作原理 自電路是電路中的一種特殊設計,一旦按下開關(guān),電路就能自動保持持續(xù)通電狀態(tài),直到按下其他開關(guān)使之斷路為止。這種特性使得自電路在需要長時間保持電路接通的場景中得到
    的頭像 發(fā)表于 01-31 10:07 ?4316次閱讀

    適用于MySQL和MariaDB的Python連接:可靠的MySQL數(shù)據(jù)連接和數(shù)據(jù)庫

    和 Linux 的 wheel 包分發(fā)。 直接連接 該解決方案使您能夠通過 TCP/IP 建立與 MySQL 或者 MariaDB 數(shù)據(jù)庫服務的直接連接,而無需數(shù)據(jù)庫客戶端庫。另外直接連接可以提高 Python 應用程
    的頭像 發(fā)表于 01-17 12:18 ?724次閱讀
    適用于MySQL和MariaDB的<b class='flag-5'>Python</b>連接<b class='flag-5'>器</b>:可靠的MySQL數(shù)據(jù)連接<b class='flag-5'>器</b>和數(shù)據(jù)庫

    Vivado之實現(xiàn)布局布線流程介紹

    流程由一系列的子流程組成,包括:Design Initialization設計初始化、Opt Design設計優(yōu)化、Power Opt Design功率優(yōu)化【可選項】、Place Design布局
    的頭像 發(fā)表于 12-06 09:08 ?2193次閱讀
    Vivado之實現(xiàn)布局布線流程介紹

    對比Python與Java編程語言

    使得編寫代碼更加靈活,但也可能導致運行時錯誤。 Java 語法相對冗長,需要顯式聲明變量類型,增加了代碼的可讀性和安全性。 靜態(tài)類型系統(tǒng)在編譯時進行類型檢查,減少了運行時錯誤。 二、性能 Python 解釋型語言,運行速度通常比Java慢,但對于許多應用場景
    的頭像 發(fā)表于 11-15 09:31 ?1802次閱讀

    科技看點:微軟將審議比特幣投資提案 2024年烏鎮(zhèn)峰會AI“含量”高

    和投資服務團隊評估了各種可投資資產(chǎn),以資助微軟的持續(xù)運營,包括預計提供多元化和通脹保護的資產(chǎn),以及減輕利率上升造成重大經(jīng)濟損失的風險?!?業(yè)界分析師認為如果該投資提案通過股東的投票,那么微軟公司將成為最大的公開上市
    的頭像 發(fā)表于 10-25 16:49 ?5776次閱讀