]> granicus.if.org Git - python/commitdiff
Add description of marshal changes.
authorR David Murray <rdmurray@bitdance.com>
Mon, 23 Dec 2013 01:40:11 +0000 (20:40 -0500)
committerR David Murray <rdmurray@bitdance.com>
Mon, 23 Dec 2013 01:40:11 +0000 (20:40 -0500)
Doc/whatsnew/3.4.rst

index a894bcd4cf766431f1429d84d1461c3838630fc5..5c9511f8c8b34a921e6c110ba33dceb0c781908c 100644 (file)
@@ -131,7 +131,8 @@ CPython implementation improvements:
 * :ref:`Secure and interchangeable hash algorithm <whatsnew-pep-456>`
   (:pep:`456`).
 * :ref:`Argument Clinic <whatsnew-pep-436>` (:pep:`436`).
-* A more efficient :mod:`marshal` format (:issue:`16475`).
+* The :mod:`marshal` format has been made :ref:`more compact and efficient
+  <whatsnew-marshal-3>` (:issue:`16475`).
 
 Please read on for a comprehensive list of user-facing changes.
 
@@ -626,6 +627,20 @@ metaclasses (Contributed by Ethan Furman in :issue:`18929` and
 :issue:`19030`)
 
 
+.. _whatsnew-marshal-3:
+
+marshal
+-------
+
+The default :mod:`marshal` version has been bumped to 3.  The code implementing
+the new version restores the Python2 behavior of recording only one copy of
+interned strings and preserving the interning on deserialization, and extends
+this "one copy" ability to any object type (including handling recursive
+references).  This reduces both the size of ``.pyc`` files and the amount of
+memory a module occupies in memory when it is loaded from a ``.pyc`` (or
+``.pyo``) file.  (Contributed by Kristján Valur Jónsson in :issue:`16475`.)
+
+
 mmap
 ----