From: R David Murray Date: Mon, 23 Dec 2013 01:40:11 +0000 (-0500) Subject: Add description of marshal changes. X-Git-Tag: v3.4.0b2~125 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8f7664ab15e44460cc9fa64f3b308f7d70a7f88f;p=python Add description of marshal changes. --- diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index a894bcd4cf..5c9511f8c8 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -131,7 +131,8 @@ CPython implementation improvements: * :ref:`Secure and interchangeable hash algorithm ` (:pep:`456`). * :ref:`Argument Clinic ` (:pep:`436`). -* A more efficient :mod:`marshal` format (:issue:`16475`). +* The :mod:`marshal` format has been made :ref:`more compact and efficient + ` (: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 ----