From 8f7664ab15e44460cc9fa64f3b308f7d70a7f88f Mon Sep 17 00:00:00 2001 From: R David Murray Date: Sun, 22 Dec 2013 20:40:11 -0500 Subject: [PATCH] Add description of marshal changes. --- Doc/whatsnew/3.4.rst | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index a894bcd4cf7..5c9511f8c8b 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 ----