From 3978d75ccad1617f1b4b7055039ab2dd90b3a0d1 Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Mon, 3 Mar 1997 16:03:27 +0000
Subject: Added intern()

---
 Doc/lib/libfuncs.tex | 13 +++++++++++++
 Doc/libfuncs.tex     | 13 +++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index ddb3a91..34d50d0 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -212,6 +212,19 @@ module from which it is called).
   the backslash convention.
 \end{funcdesc}
 
+\begin{funcdesc}{intern}{string}
+  Enter \var{string} in the table of ``interned'' strings and return
+  the interned string -- which is \var{string} itself or a copy.
+  Interning strings is useful to gain a little performance on
+  dictionary lookup -- if the keys in a dictionary are interned, and
+  the lookup key is interned, the key comparisons (after hashing) can
+  be done by a pointer compare instead of a string compare.  Normally,
+  the names used in Python programs are automatically interned, and
+  the dictionaries used to hold module, class or instance attributes
+  have interned keys.  Interned strings are immortal (i.e. never get
+  garbage collected).
+\end{funcdesc}
+
 \begin{funcdesc}{int}{x}
   Convert a number to a plain integer.  The argument may be a plain or
   long integer or a floating point number.  Conversion of floating
diff --git a/Doc/libfuncs.tex b/Doc/libfuncs.tex
index ddb3a91..34d50d0 100644
--- a/Doc/libfuncs.tex
+++ b/Doc/libfuncs.tex
@@ -212,6 +212,19 @@ module from which it is called).
   the backslash convention.
 \end{funcdesc}
 
+\begin{funcdesc}{intern}{string}
+  Enter \var{string} in the table of ``interned'' strings and return
+  the interned string -- which is \var{string} itself or a copy.
+  Interning strings is useful to gain a little performance on
+  dictionary lookup -- if the keys in a dictionary are interned, and
+  the lookup key is interned, the key comparisons (after hashing) can
+  be done by a pointer compare instead of a string compare.  Normally,
+  the names used in Python programs are automatically interned, and
+  the dictionaries used to hold module, class or instance attributes
+  have interned keys.  Interned strings are immortal (i.e. never get
+  garbage collected).
+\end{funcdesc}
+
 \begin{funcdesc}{int}{x}
   Convert a number to a plain integer.  The argument may be a plain or
   long integer or a floating point number.  Conversion of floating
-- 
cgit v0.12

