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