The general rule is the minimum requirements of all supported operating
systems, so in this case requiring SSE is a bug.
Note that this doesn't prevent us from having SSE optimized code paths, as long
as there is a fallback to one that is more compatible. And it's also not
binding on redistributors or package builders, who are free to add more
restrictive requirements.
As far as identifying these sort of requirements in packages, I don't think
they really make sense as part of a platform tag as a non-SSE build is fully
compatible with an SSE build, but as part of version ordering it would be nice
to be able to prefer certain tagged builds without excluding ones without the
tag (e.g. if my platform is win32_sse2 and there's only a win32 tagged build, I
still want it - how we formalize this is probably very complex though. Also, my
platform tag is probably 100 chars long with everything I may want to
represent...)
Cheers,
Steve
Top-posted from my Windows Phone
-----Original Message-----
From: "Oscar Benjamin" <oscar.j.benja...@gmail.com>
Sent: 10/11/2015 10:43
To: "Antoine Pitrou" <solip...@pitrou.net>; "Distutils-Sig@python.org"
<Distutils-Sig@python.org>
Subject: Re: [Distutils] warning about potential problem for wheels
On Sun, 11 Oct 2015 17:44 Antoine Pitrou <solip...@pitrou.net> wrote:
On Sun, 11 Oct 2015 08:07:30 -0700
Steve Dower <steve.do...@python.org> wrote:
>
> 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.
That sounds reasonable to me. I don't know Windows very much, but are
there still many people using 32-bit Windows these days (on x86, I
mean)?
I don't know but I think it makes sense to follow Windows' lead. So if 3.5
supports Vista and Vista doesn't require SSE2 then CPython shouldn't either. If
3.6 or whatever drops support for Vista and if Windows 7 requires SSE2 then
CPython can require it too. I assume this what happens with the OSX binaries.
Note that my recently retired computer was 64 bit and had SSE but didn't have
SSE2 (I'm fairly sure - CPU was some budget AMD model). Also after SSE2 we have
SSE3 etc and I've seen no indication that x86-64 manufacturers are going to
stop adding new instructions. So this general issue isn't limited to 32 bit
hardware and won't be solved by special casing that. I think it makes sense to
have a general policy for architectures that will be supported by the official
build in future.
--
Oscar
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
https://mail.python.org/mailman/listinfo/distutils-sig