[Distutils] SOABI for Unicode ABI on 2.x (was: wheel 0.27.0 released)

Nick Coghlan ncoghlan at gmail.com
Sun Feb 7 22:23:44 EST 2016


On 8 February 2016 at 09:07, Tres Seaver <tseaver at palladion.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 02/06/2016 05:35 AM, Marius Gedminas wrote:
>
>> And people who run build Python 2.7 with './configure && make && make
>> install'
>>
>> Why does upstream Python default to UCS-2 builds on Linux anyway?
>
> I don't recall if it had any bearing on the choice of default, but
> Long-running processes with large quantities of mostly-8-bit-compatible
> text strings in RAM (Zope, nearly any other Eurocentric webapp) need
> measurably less memory with UCS-2.

They can also end up being a bit faster as well, since most of their
strings are smaller, and hence less data copying is needed.

That's why Python 3 ended up switching to the combination of adaptive
bit width sizing for str instances and non-contiguous storage for
io.StringIO: individual strings use a bit width based on the largest
code point they contain, while io.StringIO's non-contiguous storage
means that if you avoid calling getvalue(), only the segments that
actually contain higher code points need to use the higher bit widths.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Distutils-SIG mailing list