[Distutils] warning about potential problem for wheels

Steve Dower steve.dower at python.org
Sun Oct 11 17:07:30 CEST 2015

Yes. SSE never makes it into the module ABI, it's just an implementation concern. (I believe it may be used across function/module boundaries internally when the compiler can prove that it's inaccessible from the outside - a more space effective form of inlining.)

There will be some 3.5.0-built wheels that won't work on some machines running 3.5.1 without SSE, and some wheels will see a performance decrease when built with 3.5.1 vs 3.5.0 (but not compared to 3.4). These latter ones weren't expecting the perf increase anyway, so compatibility is likely there biggest concern.

This does only affect 32-bit builds, so now I'm thinking about the possibility of treating those as highly compatible while the 64-bit ones get better performance treatment, though I'm not sure how that could actually play out. It may help remove some of the questions about which one to use though.


Top-posted from my Windows Phone

-----Original Message-----
From: "Donald Stufft" <donald at stufft.io>
Sent: ‎10/‎11/‎2015 7:31
To: "Steve Dower" <steve.dower at python.org>
Cc: "distutils-sig" <distutils-sig at python.org>; "Laura Creighton" <lac at openend.se>
Subject: Re: [Distutils] warning about potential problem for wheels

Will something built against 3.5.0 with SSE work on 3.5.1 without SSE? What about the inverse?

Sent from my iPhone

On Oct 11, 2015, at 10:17 AM, Steve Dower <steve.dower at python.org> wrote:

An extra data point is that we've had exactly one report of Python 3.5 not working due to lack of SSE, and that person was also on Windows XP (so zero reports on supported platforms).

That said, I should probably just fix 3.5.1 to not use SSE for core or distutils builds. I doubt there was a huge performance increase due to it (mainly in memcpy I'd assume).


Top-posted from my Windows Phone

From: Nathaniel Smith
Sent: ‎10/‎10/‎2015 16:11
To: Laura Creighton
Cc: distutils-sig
Subject: Re: [Distutils] warning about potential problem for wheels

On Oct 10, 2015 3:37 PM, "Laura Creighton" <lac at openend.se> wrote:
> In a message of Sat, 10 Oct 2015 21:52:58 -0000, Oscar Benjamin writes:
> >Really this is just a case of an unsupported platform. It's unfortunate
> >that CPython doesn't properly support this hardware but I think it's
> >reasonable that if you have to build your interpreter from source then you
> >have to build your extension modules as well.
> Alas that there is no easy way to detect.  The situation I am
> imagining is where the administrators of a school build pythons for
> the students to run on their obsolete hardware, and then the poor
> students don't understand why pip doesn't work.  But I suppose we
> will just get to deal with that problem when and if it happens.
In case some numbers help: the numerical community has been tracking the deployment of SSE2 to decide when to switch over for numpy/scipy builds, and at this point what I hear is:
- ~0.5% of Firefox crashes are on machines that are missing SSE2
- <0.1% of machines with Steam installed are missing SSE2
I'm not sure what python distributions like Anaconda or Activestate are doing wrt SSE2, but even if their builds do require SSE2 then their build tooling might provide a quick way to generate a whole installable environment with custom build options for targeting older systems. (Continuum as of today still hasn't released build scripts for the bottom of their stack -- python/numpy/etc. -- but they've claimed willingness to do so and there's increasing calls to make a "centos" version of Anaconda. And all the tooling beyond that -- e.g. the actual package manager -- is FOSS.)
Distutils-SIG maillist  -  Distutils-SIG at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20151011/81994554/attachment.html>

More information about the Distutils-SIG mailing list