Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
0599b5b2
Commit
0599b5b2
authored
Nov 29, 2011
by
Antoine Pitrou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add subheaders to make PEP 393 description clearer
parent
c8e03200
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
22 deletions
+28
-22
Doc/whatsnew/3.3.rst
Doc/whatsnew/3.3.rst
+28
-22
No files found.
Doc/whatsnew/3.3.rst
View file @
0599b5b2
...
@@ -69,6 +69,9 @@ API will not fully benefit of the memory reduction, or - worse - may use
...
@@ -69,6 +69,9 @@ API will not fully benefit of the memory reduction, or - worse - may use
a bit more memory, because Python may have to maintain two versions of each
a bit more memory, because Python may have to maintain two versions of each
string (in the legacy format and in the new efficient storage).
string (in the legacy format and in the new efficient storage).
Functionality
-------------
Changes introduced by :pep:`393` are the following:
Changes introduced by :pep:`393` are the following:
* Python now always supports the full range of Unicode codepoints, including
* Python now always supports the full range of Unicode codepoints, including
...
@@ -76,28 +79,6 @@ Changes introduced by :pep:`393` are the following:
...
@@ -76,28 +79,6 @@ Changes introduced by :pep:`393` are the following:
narrow and wide builds no longer exists and Python now behaves like a wide
narrow and wide builds no longer exists and Python now behaves like a wide
build, even under Windows.
build, even under Windows.
* The storage of Unicode strings now depends on the highest codepoint in the string:
* pure ASCII and Latin1 strings (``U+0000-U+00FF``) use 1 byte per codepoint;
* BMP strings (``U+0000-U+FFFF``) use 2 bytes per codepoint;
* non-BMP strings (``U+10000-U+10FFFF``) use 4 bytes per codepoint.
The net effect is that for most applications, memory usage of string storage
should decrease significantly - especially compared to former wide unicode
builds - as, in many cases, strings will be pure ASCII even in international
contexts (because many strings store non-human language data, such as XML
fragments, HTTP headers, JSON-encoded data, etc.). We also hope that it
will, for the same reasons, increase CPU cache efficiency on non-trivial
applications.
.. The memory usage of Python 3.3 is two to three times smaller than Python 3.2,
and a little bit better than Python 2.7, on a `Django benchmark
<http://mail.python.org/pipermail/python-dev/2011-September/113714.html>`_.
XXX The result should be moved in the PEP and a link to the PEP should
be added here.
* With the death of narrow builds, the problems specific to narrow builds have
* With the death of narrow builds, the problems specific to narrow builds have
also been fixed, for example:
also been fixed, for example:
...
@@ -120,6 +101,31 @@ Changes introduced by :pep:`393` are the following:
...
@@ -120,6 +101,31 @@ Changes introduced by :pep:`393` are the following:
* The :file:`./configure` flag ``--with-wide-unicode`` has been removed.
* The :file:`./configure` flag ``--with-wide-unicode`` has been removed.
Performance and resource usage
------------------------------
The storage of Unicode strings now depends on the highest codepoint in the string:
* pure ASCII and Latin1 strings (``U+0000-U+00FF``) use 1 byte per codepoint;
* BMP strings (``U+0000-U+FFFF``) use 2 bytes per codepoint;
* non-BMP strings (``U+10000-U+10FFFF``) use 4 bytes per codepoint.
The net effect is that for most applications, memory usage of string storage
should decrease significantly - especially compared to former wide unicode
builds - as, in many cases, strings will be pure ASCII even in international
contexts (because many strings store non-human language data, such as XML
fragments, HTTP headers, JSON-encoded data, etc.). We also hope that it
will, for the same reasons, increase CPU cache efficiency on non-trivial
applications.
.. The memory usage of Python 3.3 is two to three times smaller than Python 3.2,
and a little bit better than Python 2.7, on a `Django benchmark
<http://mail.python.org/pipermail/python-dev/2011-September/113714.html>`_.
XXX The result should be moved in the PEP and a link to the PEP should
be added here.
PEP 3151: Reworking the OS and IO exception hierarchy
PEP 3151: Reworking the OS and IO exception hierarchy
=====================================================
=====================================================
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment