r58737 - python/trunk/Doc/library/marshal.rst
![](https://secure.gravatar.com/avatar/8ac615df352a970211b0e3d94a307c6d.jpg?s=120&d=mm&r=g)
Author: raymond.hettinger Date: Wed Oct 31 22:57:58 2007 New Revision: 58737 Modified: python/trunk/Doc/library/marshal.rst Log: Clarify the reasons why pickle is almost always better than marshal Modified: python/trunk/Doc/library/marshal.rst ============================================================================== --- python/trunk/Doc/library/marshal.rst (original) +++ python/trunk/Doc/library/marshal.rst Wed Oct 31 22:57:58 2007 @@ -25,7 +25,9 @@ writing the "pseudo-compiled" code for Python modules of :file:`.pyc` files. Therefore, the Python maintainers reserve the right to modify the marshal format in backward incompatible ways should the need arise. If you're serializing and -de-serializing Python objects, use the :mod:`pickle` module instead. +de-serializing Python objects, use the :mod:`pickle` module instead -- the +performance is comparable, version independence is guaranteed, and pickle +supports a substantially wider range of objects than marshal. .. warning:: @@ -43,6 +45,12 @@ (they will cause infinite loops). .. warning:: + + Some unsupported types such as subclasses of builtins will appear to marshal + and unmarshal correctly, but in fact, their type will change and the + additional subclass functionality and instance attributes will be lost. + +.. warning:: On machines where C's ``long int`` type has more than 32 bits (such as the DEC Alpha), it is possible to create plain Python integers that are longer
participants (1)
-
raymond.hettinger