[Python-Dev] Add a frozendict builtin type

Antoine Pitrou solipsis at pitrou.net
Tue Feb 28 13:11:08 CET 2012


On Tue, 28 Feb 2012 12:07:32 +0000
Mark Shannon <mark at hotpy.org> wrote:
> Antoine Pitrou wrote:
> > On Tue, 28 Feb 2012 12:45:54 +0100
> > Victor Stinner <victor.stinner at haypocalc.com> wrote:
> >>> I think you need to elaborate on your use cases further, ...
> >> A frozendict can be used as a member of a set or as a key in a dictionary.
> >>
> >> For example, frozendict is indirectly needed when you want to use an
> >> object as a key of a dict, whereas one attribute of this object is a
> >> dict.
> > 
> > It isn't. You just have to define __hash__ correctly.
> > 
> >> frozendict helps also in threading and multiprocessing.
> > 
> > How so?
> 
> Inter process/task communication requires copying. Inter/intra thread
> communication uses reference semantics. To ensure these are the same,
> the objects used in communication must be immutable.

You just need them to be practically constant. No need for an immutable
type in the first place.

Regards

Antoine.


More information about the Python-Dev mailing list