[Python-ideas] PEP: Hide implementation details in the C API

Terry Reedy tjreedy at udel.edu
Wed Jul 12 00:24:27 EDT 2017


On 7/11/2017 11:30 PM, Nick Coghlan wrote:
> Commenting more on specific technical details rather than just tone this time :)
> 
> On 11 July 2017 at 20:19, Victor Stinner <victor.stinner at gmail.com> wrote:

>> Reference counting may be emulated in a future implementation for
>> backward compatibility.

One heavy user's experience with garbage collection:
https://engineering.instagram.com/dismissing-python-garbage-collection-at-instagram-4dca40b29172

"Instagram can run 10% more efficiently. ... Yes, you heard it right! By 
disabling GC [and relying only on ref counting], we can reduce the 
memory footprint and improve the CPU LLC cache hit ratio"

It turned out that gc.disable() was inadequate because imported 
libraries could turn it on, and one did.

> I don't believe this is the best rationale to use for the PEP, as we
> (or at least I) have emphatically promised *not* to do another Python
> 3 style compatibility break, and we know from PyPy's decade of
> challenges that a lot of Python's users care even more about CPython C
> API/ABI compatibility than they do the core data model.

[snip most]

-- 
Terry Jan Reedy



More information about the Python-ideas mailing list