cpython/Objects/stringlib
Raymond Hettinger b1b915c796 Issue 18719: Remove a false optimization
Remove an unused early-out test from the critical path for
dict and set lookups.

When the strings already have matching lengths, kinds, and hashes,
there is no additional information gained by checking the first
characters (the probability of a mismatch is already known to
be less than 1 in 2**64).
2013-08-13 18:16:34 -07:00
..
README.txt Merged revisions 77937 via svnmerge from 2010-02-03 02:43:37 +00:00
asciilib.h Issue #14744: Use the new _PyUnicodeWriter internal API to speed up str%args and str.format(args) 2012-05-29 12:57:52 +02:00
codecs.h Issue #8271: Fix compilation on Windows 2012-11-04 23:59:15 +01:00
count.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
ctype.h Merged revisions 77461 via svnmerge from 2010-01-13 08:07:53 +00:00
eq.h Issue 18719: Remove a false optimization 2013-08-13 18:16:34 -07:00
fastsearch.h Check for NULL before the pointer aligning in fastsearch_memchr_1char. 2013-01-15 13:27:28 +02:00
find.h Issue #13623: Fix a performance regression introduced by issue #12170 in 2011-12-18 01:17:41 +01:00
find_max_char.h Issue #15144: Fix possible integer overflow when handling pointers as integer values, by using Py_uintptr_t instead of size_t. 2012-09-20 20:56:47 +02:00
localeutil.h Make private function static (from `make smelly`) 2012-06-21 17:26:28 +02:00
partition.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
split.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
stringdefs.h Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator 2012-02-24 00:37:51 +01:00
transmogrify.h Remove trailing whitespace. 2013-04-21 04:07:51 +03:00
ucs1lib.h Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy Storchaka. 2012-05-10 16:36:02 +02:00
ucs2lib.h Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy Storchaka. 2012-05-10 16:36:02 +02:00
ucs4lib.h Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy Storchaka. 2012-05-10 16:36:02 +02:00
undef.h Issue #14738: Speed-up UTF-8 decoding on non-ASCII data. Patch by Serhiy Storchaka. 2012-05-10 16:36:02 +02:00
unicode_format.h only recursively expand in the format spec (closes #17644) 2013-05-17 17:34:30 -05:00
unicodedefs.h Issue #13706: Fix format(int, "n") for locale with non-ASCII thousands separator 2012-02-24 00:37:51 +01:00

README.txt

bits shared by the stringobject and unicodeobject implementations (and
possibly other modules, in a not too distant future).

the stuff in here is included into relevant places; see the individual
source files for details.

--------------------------------------------------------------------
the following defines used by the different modules:

STRINGLIB_CHAR

    the type used to hold a character (char or Py_UNICODE)

STRINGLIB_EMPTY

    a PyObject representing the empty string, only to be used if
    STRINGLIB_MUTABLE is 0

Py_ssize_t STRINGLIB_LEN(PyObject*)

    returns the length of the given string object (which must be of the
    right type)

PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)

    creates a new string object

STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)

    returns the pointer to the character data for the given string
    object (which must be of the right type)

int STRINGLIB_CHECK_EXACT(PyObject *)

    returns true if the object is an instance of our type, not a subclass

STRINGLIB_MUTABLE

    must be 0 or 1 to tell the cpp macros in stringlib code if the object
    being operated on is mutable or not