增量垃圾回收效能問題待解,Python 3.13正式版暫不加入
支付動態 · 2024-10-07

由於效能因素,Python 3.13暫時不加入原訂新增的增量垃圾回收(Incremental GC)功能,並維持原有設定以維持版本穩定性,待改進並收集更多回饋後於Python 3.14回歸

Python 3.13的增量垃圾回收(Incremental GC)功能存在效能問題,導致包括Sphinx等多種工具運作效能下降。核心開發者在討論了增量垃圾回收閾值調整,以及退回增量垃圾回收功能的可能性後,決定暫時不在Python 3.13加入該功能,並且維持現有閾值設定,確保效能穩定。增量垃圾回收預計會在改進並且收集更多開發者回饋後,新增到Python 3.14中。

垃圾回收是程式語言中一項記憶體管理機制,用於自動清理不再使用的物件,釋放記憶體空間。原本開發團隊想在Python 3.13的時候新增增量垃圾回收功能,目的是最佳化記憶體管理,減少應用程式在執行時,因為垃圾回收而發生的卡頓,特別是針對大型應用程式或是需要高回應性的系統,以達到更加平滑順暢的效能表現。

傳統垃圾回收機制會在一定時間點暫停程式部分運作,清理未使用的記憶體,而該過程可能導致應用程式卡頓,而增量垃圾回收則是將垃圾回收過程拆分成多個較小的步驟,逐步進行清理,進而縮短每次停頓的時間,使得應用程式的回應性更好。

Python垃圾回收採用分代回收策略,主要分為三個世代,第0代、第1代和第2代。根據對程式記憶體分配行為的觀察,通常很快變成垃圾的新物件被標為第0代,第1代則是由第0代經過垃圾回收後仍存活的物件晉升,當第1代記憶體物件觸發垃圾回收,卻還依然存活的物件,就會被標記為第2代。

而原本Python 3.13為了配合增量垃圾回收功能,第0代的閾值從700增加到了2,000,以降低頻繁垃圾回收帶來的額外開銷。不過,增量垃圾回收的效能在測試階段就受到開發者的注意,尤其是像Sphinx這類大型應用程式,在Python 3.13上甚至出現接近40%的效能下降。

經過Python核心開發者的討論,他們認為增量垃圾回收雖然普遍可以減少垃圾回收的卡頓時間,提升應用程式的回應性,但是在部分情境下卻反而會增加額外的記憶體和計算成本開銷,以至於無法達到預期的效能提升效果。

在覈心開發者討論各種方案後取得共識,認為增量垃圾回收功能尚未成熟,閾值的調整需要更廣泛的場景測試,因此最終從Python 3.13正式版移除增量垃圾回收,並維持原本設定確保版本的穩定性。開發團隊將在收集更多回饋,釐清不同場景應用的效能表現後,在Python 3.14重新引入增量垃圾回收功能。

熱門文章
越南在線博彩業政策收緊 催生市場新機遇
東南亞資訊
越南博彩管控逐步放寬,惟本土需求仍顯乏力
東南亞資訊
灰度在iGB L!VE 2026展位T70和你相約7月,一起點燃倫敦的熱情!
灰度頭條
橫跨全球6個城市,灰度8場派對邀你共看世界盃,重塑高質量社交新場景
灰度頭條
哈薩克計劃對線上賭場促銷活動進行處罰
合規與政策
西班牙監管機構警告在線賭博平臺存在身份盜竊行為
合規與政策
印度最高法院受理公益訴訟,要求全國禁封「偽裝」成社交遊戲的賭博平台
合規與政策
新澤西州7月博彩收入創6.06億美元新高,頒布禁令
合規與政策
斯里蘭卡博弈產業大轉型,官方:劍指南亞拉斯維加斯
合規與政策
英國確認各垂直行業的賭博稅稅率
合規與政策
JILI 宣佈與全球板球傳奇 AB de Villiers(ABD)達成重磅戰略合作
體育遊戲
菲律賓博彩技術賽道迎來新變局,B2B 供應模式加速滲透
東南亞資訊
超級PAC籌資4800萬美元:體育博彩勢力加碼
合規與政策
印第安納州在線賭場法案在眾議院委員會停滯不前
合規與政策
菲律賓網絡賭博和加密貨幣仍構成持續的洗錢風險
東南亞資訊
首頁
遊戲
合作
發現
我的