CPython 調整 3.14 與 3.15 版本增量式 GC 實作,改回 3.13 分代式 GC 設計

CPython 調整 3.14 與 3.15 版本增量式 GC 實作,改回 3.13 分代式 GC 設計

核心決策: revert 增量式垃圾回收

CPython 核心開發團隊在 Python 3.14 與 3.15 版本的規劃中,決定將原本計畫採用的增量式垃圾收集器(Incremental GC)改回 Python 3.13 既有的分代式設計(Generational GC)。此決定旨在解決先前增量式 GC 在效能上的潛在問題,並確保系統穩定性。

技術背景與變更細節

Python 3.13 引入了增量式垃圾回收機制,但由於其對效能的影響,引發了開發者與核心團隊的廣泛討論。根據 Python 討論區(discuss.python.org)的資訊,開發者確認將 revert 此變更,並恢復至 3.13 的分代式 GC 模式。

  • 影響範圍:Python 3.14.0 至 3.14.4 以及 3.15 版本。
  • 技術路線:從增量式 GC 改回分代式 GC。
  • 時間點:此決策於 2026 年 4 月左右確認,當時 Python 3.15 仍處於 alpha 階段。

相關歷史與影響

此決策並非首次調整。早在 2024 年,Python 3.13 正式版發布時,因增量垃圾回收(Incremental GC)導致效能問題(如文件生成工具 Sphinx 運作效能下降),核心開發者曾討論移除該功能。此次在 3.14 與 3.15 版本中再次確認改回分代式設計,顯示開發團隊對垃圾回收機制穩定性的重視。

對於使用者而言,這意味著在 Python 3.14 及 3.15 中,垃圾回收的觸發機制將與 3.13 及更早版本保持一致,即主要針對「容器物件」(container objects)進行分代回收,而非增量式回收。

返回頂端