SIGN IN SIGN UP

bpo-43452: Micro-optimizations to PyType_Lookup (GH-24804)

The common case going through _PyType_Lookup is to have a cache hit. There are some small tweaks that can make this a little cheaper:

* The name field identity is used for a cache hit and is kept alive by the cache. So there's no need to read the hash code o the name - instead, the address can be used as the hash.

*  There's no need to check if the name is cachable on the lookup either, it probably is, and if it is, it'll be in the cache.

*  If we clear the version tag when invalidating a type then we don't actually need to check for a valid version tag bit.
D
Dino Viehland committed
ee48c7d54147ae906776b9f6f96e8920e097d0c4
Parent: 2fd16ef
Committed by GitHub <noreply@github.com> on 3/20/2021, 7:12:05 PM