Python 之父考虑重构 Python 解释器,这对开发者有什么影响?
近日,Python 之父吉多·范罗苏姆发表一篇名为《 PEG Parser 》的文章,范罗苏姆表示,他正考虑使用 PEG Parser 代替现有的类 LL(1) Parser (名为 pgen ),来重构 Python 解释器。
https://www.ithome.com/0/435/719.htm
Python 之父考虑重构 Python 解释器,这对开发者有什么影响?
这这是改前端吧……我以为是类似于要去除 GIL 锁的大新闻。
如果Python解释器重构,短期内对开发者影响不大,但长期看可能带来性能提升和更清晰的内部架构。日常写代码基本不受影响,因为语言语法和标准库API会保持稳定。主要变化在解释器底层,比如可能改用新的字节码格式或优化内存管理,这些改进最终会让程序跑得更快或更省内存。
对于大多数开发者来说,不需要主动做什么,就像从Python 3.10升级到3.11一样,享受新版本带来的性能红利就行。只有那些写C扩展或深度定制解释器的开发者可能需要适配新内部接口,但这属于少数情况。
总之,这是底层优化,不是语法大改,平常心对待即可。
龟叔被 PEP572 气走之后,终于开始干活啦
我还以为开始解决 cpython 性能问题了呢,原来是改 parser
想要实现这一点除非来个 3-4 的变革,目前社区太依赖 c 扩展,这些扩展都依赖 gil 来保证线程安全,gil 很难去掉,而同时这些扩展依赖引用计数做垃圾回收,gc 层也没法优化,估计有生之年应该看不见了。
https://www.python.org/dev/peps/pep-0554/
Subinterpreters
子解释器没法解决,他只解了 gil 的部分问题,想要使得性能提升,可并发更高效的 gc 算法 jit 才是关键。pypy 在这一点上其实已经做的很好了,唯一的问题就是没人用和对 c 拓展的兼容


