bitdancer  committed 338f75e

Add description of marshal changes.

  • Participants
  • Parent commits a3b61c7
  • Branches default

Comments (0)

Files changed (1)

File Doc/whatsnew/3.4.rst

 * :ref:`Secure and interchangeable hash algorithm <whatsnew-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.
+.. _whatsnew-marshal-3:
+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`.)