New submission from Kristján Valur Jónsson:

The format used by the marshal module does not support instancing.  This 
precludes certain data optimizations, such as sharing string constants, common 
tuples, even common code objects.  Since the marshal format is used to write 
compiled code, this makes it impossible to do data optimization on code prior 
to writing it out.

This patch adds proper instancing support for all the supported types and 
increases the default version to three.

(A separate defect/regression is that interned strings are no longer preserved 
as was implemented in version 1 of the original 2.x branch.  This also negates 
any interning done at compile time.  That is a separate defect.)

components: Interpreter Core
files: marshalinstance.patch
keywords: patch
messages: 175603
nosy: kristjan.jonsson
priority: normal
severity: normal
status: open
title: Support object instancing and recursion in marshal
type: enhancement
versions: Python 3.4
Added file:

Python tracker <>
Python-bugs-list mailing list

Reply via email to