[Python-Dev] Interning string subtype instances (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Mon Feb 12 20:33:22 CET 2007
- Previous message: [Python-Dev] Interning string subtype instances
- Next message: [Python-Dev] Interning string subtype instances
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Mike Klaas schrieb:
cause problems for other users of the interned string. I agree with the reasoning, but propose a different solution: when interning an instance of a string subtype, PyStringInternInPlace could simply intern a copy. Interning currently requires an external reference to prevent garbage collection (I believe). What will hold a reference to the string copy?
For PyString_InternInPlace, the caller will receive a reference; the original object passed in is decref'ed.
A typical caller of PyString_InternInPlace will just store the reference in some global/static variable. builtin_intern will return it to the caller, which then needs to store it. This was always the case with intern(); the usage pattern is
foo = intern(foo)
as intern may return a different object (e.g. if the string was already interned).
Regards, Martin
- Previous message: [Python-Dev] Interning string subtype instances
- Next message: [Python-Dev] Interning string subtype instances
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]