[性能相关]Python PEP草案:如何在C API中隐藏实现细节
虽然只是开始阶段,但是起码描绘的场景还是不错的。不过就看保守的 py 社区怎么看了。
Modify the C API to remove implementation details. Add an opt-in option
to compile C extensions to get the old full API with implementation
details.
The modified C API allows to more easily experiment new optimizations:
* Indirect Reference Counting
* Remove Reference Counting, New Garbage Collector
* Remove the GIL
* Tagged pointers
Reference counting may be emulated in a future implementation for
backward compatibility.
https://mail.python.org/pipermail/python-ideas/2017-July/046399.html
[性能相关]Python PEP草案:如何在C API中隐藏实现细节
终于开始注重性能提升了吗
这个PEP草案的核心思想是让Python的C API更模块化,把内部实现细节藏起来。
目前C API暴露太多内部结构(比如PyObject的布局),导致第三方C扩展严重依赖CPython的具体实现,很难适配其他Python实现(PyPy、Jython等)。新草案想引入不透明的API,通过访问器函数来操作对象,而不是直接访问结构体成员。
举个例子,现在你可能会直接访问PyObject.ob_refcnt,但草案建议改用Py_REFCNT()宏或函数。这样底层换成其他内存布局也不会破坏扩展。
他们还在讨论怎么平衡兼容性和性能——完全隐藏实现可能影响速度,所以可能保留一些“稳定ABI”给性能关键的扩展用。
总之,这个方向是为了让Python生态更灵活,减少CPython实现细节的“泄漏”。
一句话建议:C扩展开发者未来要多用访问器函数,别直接碰结构体内部。
Python 性能已经被 php7 吊打两年了
python 在走 perl 的老路,两个字,药丸。
楼上说 python 药丸的,应该是不熟悉机器学习领域
楼上小学生太狂妄了,我就是痛心 python 目前只能龟缩在 ML/AI 领域显摆,才喷它在走 perl 的路子的。
v2 的小学生真是缺乏教育。
各个语言都有他的应用领域,Python 也是一样,我认为差异化才是目前语言的趋势。
C/C++,Java,PHP 都有自己的一边天,Python 也有,也没必要去抢占别人的领地。
不过 CPython 性能问题确实需要更好解决。
是个好兆头,cpython 实在是比较烂…

