[Python-Dev] Removing the GIL (Me, not you!) (original) (raw)

Jon Ribbens jon+python-dev at unequivocal.co.uk
Thu Sep 13 12:55:27 CEST 2007


On Thu, Sep 13, 2007 at 12:19:21PM +0200, André Malo wrote:

> Pardon my ignorance but why does Python do reference counting for truly > global and static objects like None, True, False, small and cached > integers, sys and other builtins? If I understand it correctly these > objects are never garbaged collected (at least they shouldn't) until the > interpreter exits. Wouldn't it decrease the overhead and increase speed > when PyINCREF and PyDECREF are NOOPs for static and immutable objects?

The check what kind of object you have takes time, too. Right now, just counting up or down is most likely faster than that check on every refcount operation.

To put it another way, would it actually matter if the reference counts for such objects became hopelessly wrong due to non-atomic adjustments?



More information about the Python-Dev mailing list