RFC: Dropping Windows XP support

Austin Seipp austin at well-typed.com
Fri Nov 7 18:16:22 UTC 2014


Hi all,

This is a quick discussion about the current system requirements for
Windows builds.

Spurred by a recent[1] LLVM discussion, I'd like to raise the question
of dropping support for Windows XP, and bumping the minimum required
version to Windows Vista or even Windows 7.

For one, Microsoft doesn't support XP anymore, so most people are
moving off it anyway. 'Soon' even XP Embedded will be obsoleted.

But second, Vista and beyond introduced useful new APIs we could use.
I was digging through the LLVM thread and two came out to me:

 1) We could switch to using slim reader/writer locks, which in some
workloads may work out better than critical sections (they'll win on
more read-heavy workloads). The downsides is there's no recursive
locking but we don't use that anyway (and recursive locks are
considered bad by many anyway[2]).

 2) We could probably use an actual condition variables API that was
introduced with Vista. Currently we use a giant EVENT object to
emulate the API, which could be replaced with the real deal.

Both of these could be nice wins for simplicity and performance I think.

I know there are some corporate users out there who this may impact,
and users as well. I'd like to know what people think. Particularly
what version we should standardize on.

FWIW, I don't plan on changing any of this until the 7.12 release at least.

[1] http://article.gmane.org/gmane.comp.compilers.llvm.devel/78419
[2] http://www.zaval.org/resources/library/butenhof1.html

-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/


More information about the ghc-devs mailing list