mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
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. |
||
|---|---|---|
| .. | ||
| clinic | ||
| stringlib | ||
| abstract.c | ||
| accu.c | ||
| boolobject.c | ||
| bytearrayobject.c | ||
| bytes_methods.c | ||
| bytesobject.c | ||
| call.c | ||
| capsule.c | ||
| cellobject.c | ||
| classobject.c | ||
| codeobject.c | ||
| complexobject.c | ||
| descrobject.c | ||
| dict-common.h | ||
| dictnotes.txt | ||
| dictobject.c | ||
| enumobject.c | ||
| exceptions.c | ||
| fileobject.c | ||
| floatobject.c | ||
| frameobject.c | ||
| funcobject.c | ||
| genericaliasobject.c | ||
| genobject.c | ||
| interpreteridobject.c | ||
| iterobject.c | ||
| listobject.c | ||
| listsort.txt | ||
| lnotab_notes.txt | ||
| longobject.c | ||
| memoryobject.c | ||
| methodobject.c | ||
| moduleobject.c | ||
| namespaceobject.c | ||
| object.c | ||
| obmalloc.c | ||
| odictobject.c | ||
| picklebufobject.c | ||
| rangeobject.c | ||
| README | ||
| setobject.c | ||
| sliceobject.c | ||
| structseq.c | ||
| tupleobject.c | ||
| typeobject.c | ||
| typeslots.inc | ||
| typeslots.py | ||
| unicodectype.c | ||
| unicodeobject.c | ||
| unicodetype_db.h | ||
| unionobject.c | ||
| weakrefobject.c | ||
Source files for various builtin objects