diff options
author | Guido van Rossum <guido@python.org> | 1997-02-14 16:29:22 +0000 |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-02-14 16:29:22 +0000 |
commit | dd9543080159970fb0c26a9b67d655c72c7ea02c (patch) | |
tree | 82e1c4fa7ef258ee30013502e6c21891a637c362 /Objects/stringobject.c | |
parent | 13dfb9c005a2f7864074772a5066ca695b3d67ad (diff) | |
download | cpython-dd9543080159970fb0c26a9b67d655c72c7ea02c.tar.gz |
Slight tweak: in string_hash(), if the hash hasn't been computed yet,
and if there's a pointer to an interned version of the string, use its
hash and store its hash in this object, rather than recomputing it.
Diffstat (limited to 'Objects/stringobject.c')
-rw-r--r-- | Objects/stringobject.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 283e219d34..724121f0b1 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -433,6 +433,11 @@ string_hash(a) #ifdef CACHE_HASH if (a->ob_shash != -1) return a->ob_shash; +#ifdef INTERN_STRINGS + if (a->ob_sinterned != NULL) + return (a->ob_shash = + ((stringobject *)(a->ob_sinterned))->ob_shash); +#endif #endif len = a->ob_size; p = (unsigned char *) a->ob_sval; |