亚洲三级在线播放_国产精品亚洲二区在线_精品国产电影久久久久_免费popnhub国产在线视频 - 美女被艹网站

金財晚報

金財晚報

當前位置:首頁>民生消費>

消息稱Python將加入“ImmortalObjects”,可提升內存效

來源:IT之家 作者:樊華 發布時間:2023-08-23 16:09   閱讀量:8769   

,Meta 日前宣布將在 Python 中加入 Immortal Objects,使得對象可以繞過參照計數檢查,成為在執行時持續存活的“不朽對象”,從而提高內存的使用效率,并有助于解除 Python 語言本身在平行運算上的局限。

IT之家發現,Meta 使用 Python 網頁框架 Django 開發 Instagram 前端,并且使用多程序架構以及 Python 函數庫 asyncio,以達到每個程序并行處理的目標,但因為 Instagram 前端無論是在業務邏輯還是處理的請求量層面,規模都十分龐大,開發者當下應用的這個方法,反而造成了對內存的大量需求,從而導致系統出現一系列性能障礙。

圖源Meta 提出的 PEP-683,目前已經被采納

隨著系統運作,每個服務器程序的私有內存使用增加,而共享內存減少,這樣的現象造成內存效率低下。

開發人員分析發現,即便許多 Python 對象在整個執行時不可變,但是 Python 的參照計數和垃圾回收機制仍然會試圖管理并修改這些對象,在每次讀取和垃圾回收周期仍會執行寫入時復制步驟,使得原本共享的內存分頁轉為私有,共享內存效率也便因此減少,從而導致不必要的 CPU 和內存成本開銷。

使用Immortal Objects 可提升內存和 CPU 效率

當下 Meta 便是為了解決這個問題,從而宣布將在 Python 中加入 Immortal Objects,Immortal Objects 在對象的參照計數字段中,標記特殊值以創建“不朽對象”,也就是“核心對象狀態永遠不會改變的對象”,Runtime 會知道什么時候可以或是不可以改變參照計數字段和垃圾回收頭。

在 Instagram 前端中,開發者原先通過“減少寫入時復制操作”,以提高內存和 CPU 效率,當下隨著Immortal Objects 的加入,Instagram 前端便可以通過增加共享內存使用量,來大幅減少私有內存的使用。

由于 Immortal Objects 可以跨線程共享對象,不再需要 GIL達到線程安全性,Meta 認為,這項功能有望促進 Python 語言發展,且由于 Immortal Objects 保證堆對象真正的不可變性,因此也能夠解除 Python 在并行運算的一系列限制。

廣告聲明:文內含有的對外跳轉鏈接,用于傳遞更多信息,節省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。

鄭重聲明:此文內容為本網站轉載企業宣傳資訊,目的在于傳播更多信息,與本站立場無關。僅供讀者參考,并請自行核實相關內容。

mangren

財經視界

財經圖文

熱門推薦

金財晚報僅作為用戶獲取信息之目的,并不構成投資建議。市場有風險 投資需謹慎。

網站地圖

Copyright 2018- 金財晚報 All Rights Reserved 聯系我們: 備案號:蜀ICP備13010463號