预计 3.12 推出的 Tier 2 优化 trace optimizer ( specializing adaptive 是 Tier 1 )延期了[link](
https://github.com/faster-cpython/ideas/wiki/Python-3.12-Goals)。距离 Beta 1 还有两个月时间,目前看来 3.12 的优化没啥大的变化,大概从 1.25x 涨到了 1.30x 。
3.12 的新的特性 /功能:
* PEP-684 Per-interpreter GIL 。但是没有 channel ,缺少能在不同 subintepreter 高效移动 /复制对象的方法,估计需要用户自己用 shared memory 撸轮子。并不像 Go 的 goroutine 那么丝滑,不过也算是有趣的尝试,指不定哪个大神就搞出新的玩法。
* PEP-683 Immortal Objects 。目前看来对性能影响不大,甚至有一定性能损耗。
* register-based interpreter 。之前讨论得很火,但是现在没啥进展(理论上大概是 5%的性能提升?)。估计 3.12 没戏
* nogil 。虽然 Sam 开了一个新的 nogil3.12 库,不过目前 PEP 和讨论都没啥进展,并且和 Eric 的 Per-intepreter GIL 存在一定程度上的冲突。估计 3.12 没戏
Faster Python 计划理论上 3.12 应该要达到 2.25x 的性能提升,目前看来这个版本会是个画的大饼,就看 PyCon 2023 能不能有啥新闻了。