python是否将缓冲区从一个逻辑内存位置移动到另一个位置?

问题描述 投票:0回答:1

在简单的python CLI脚本中,我使用Byteio创建了一个内存缓冲区并在那里写了一些数据。我从终端打电话给它。

假设我的程序正在进行一个小时。

在程序执行期间,python解释器是否可以隐式地将缓冲区从一个逻辑内存位置移动到另一个位置?

python
1个回答
1
投票

不,CPython的垃圾收集器不会移动或压缩。原因是它在早期版本(2.0之前)中提供了对C扩展的对象的直接引用,并且转移到间接引用或读取障碍会破坏C扩展兼容性。

PyPy具有更高效和更先进的移动GC,因为它不保持与C扩展的兼容性。

© www.soinside.com 2019 - 2024. All rights reserved.