,Meta 日前宣布將在 Python 中加入 Immortal Objects,使得對象可以繞過參照計數檢查,成為在執行時持續存活的“不朽對象”,從而提高內存的使用效率,并有助于解除 Python 語言本身在平行運算上的局限。
IT之家發現,Meta 使用 Python 網頁框架 Django 開發 Instagram 前端,并且使用多程序架構以及 Python 函數庫 asyncio,以達到每個程序并行處理的目標,但因為 Instagram 前端無論是在業務邏輯還是處理的請求量層面,規模都十分龐大,開發者當下應用的這個方法,反而造成了對內存的大量需求,從而導致系統出現一系列性能障礙。
隨著系統運作,每個服務器程序的私有內存使用增加,而共享內存減少,這樣的現象造成內存效率低下。
開發人員分析發現,即便許多 Python 對象在整個執行時不可變,但是 Python 的參照計數和垃圾回收機制仍然會試圖管理并修改這些對象,在每次讀取和垃圾回收周期仍會執行寫入時復制步驟,使得原本共享的內存分頁轉為私有,共享內存效率也便因此減少,從而導致不必要的 CPU 和內存成本開銷。
當下 Meta 便是為了解決這個問題,從而宣布將在 Python 中加入 Immortal Objects,Immortal Objects 在對象的參照計數字段中,標記特殊值以創建“不朽對象”,也就是“核心對象狀態永遠不會改變的對象”,Runtime 會知道什么時候可以或是不可以改變參照計數字段和垃圾回收頭。
在 Instagram 前端中,開發者原先通過“減少寫入時復制操作”,以提高內存和 CPU 效率,當下隨著Immortal Objects 的加入,Instagram 前端便可以通過增加共享內存使用量,來大幅減少私有內存的使用。
由于 Immortal Objects 可以跨線程共享對象,不再需要 GIL達到線程安全性,Meta 認為,這項功能有望促進 Python 語言發展,且由于 Immortal Objects 保證堆對象真正的不可變性,因此也能夠解除 Python 在并行運算的一系列限制。
廣告聲明:文內含有的對外跳轉鏈接,用于傳遞更多信息,節省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。
鄭重聲明:此文內容為本網站轉載企業宣傳資訊,目的在于傳播更多信息,與本站立場無關。僅供讀者參考,并請自行核實相關內容。
2023年2月15日,湯臣倍健與美團買藥在北京舉辦了2023
2021年收入增長目標應能確保實現,2022年收入增長預計將
具體來看,一是簡化業務流程和材料,便利北京冬奧會相關區域內境
炒股就看金麒麟分析師研報,權威,專業,及時,全面,助您挖掘潛
,據索尼官方消息,新星粉,銀河紫,星光藍,三款全新配色Dua
,新氧數據顏究院發布《2021醫美行業白皮書》,白皮書顯示,