This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author gvanrossum
Recipients alexandre.vassalotti, benjamin.peterson, gvanrossum, hniksic, jcea, loewis, rhettinger
Date 2008-08-12.18:29:17
SpamBayes Score 8.3227285e-05
Marked as misclassified No
Message-id <ca471dc20808121129l180dfdf4jd8142103b20b12e8@mail.gmail.com>
In-reply-to <1218536973.63.0.436333195078.issue2389@psf.upfronthosting.co.za>
Content
> Instead of sticking to network byte order, I propose to include byte
> order information in the pickle (for example as '<' or '>' like struct
> does), so that pickling/unpickling between the same-endianness
> architectures doesn't have to convert at all.  Floats are always pickled
> as IEEE754, but the same optimization (not having to convert anything)
> would apply when unpickling a float array on an IEEE754 architecture.
>
> Preserving widths and including endianness information would allow
> pickling to be as fast as it is now (with the exception of unicode chars
> and floats on non-IEEE754 platforms).  It would also allow unpickling to
> be as fast between architecture with equal endianness, and correct
> between others.

This sounds like the best approach yet -- it can be made backwards
compatible (so 2.6 can read 2.5 pickles at least on the same platform)
and can be just as fast when unpickling on the same platform, and only
slightly slower on a different platform.
History
Date User Action Args
2008-08-12 18:29:19gvanrossumsetrecipients: + gvanrossum, loewis, rhettinger, jcea, hniksic, alexandre.vassalotti, benjamin.peterson
2008-08-12 18:29:18gvanrossumlinkissue2389 messages
2008-08-12 18:29:17gvanrossumcreate