Subject: Re: [boost] [boost, config, context, log, 1.58] address-model and architecture detection
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2015-04-08 05:45:36
On Wed, Apr 8, 2015 at 11:34 AM, Gavin Lambert <gavinl_at_[hidden]> wrote:
> On 8/04/2015 19:37, Andrey Semashev wrote:
>> Well, IMO the code that didn't manage to get ported to 64 bits for
>> the last 10 years is dead and I would eagerly avoid using it in new
>> projects and even make effort to get rid of it in the currently
>> maintained ones.
> In the Windows environment, this is not a valid assumption. It is still
> probably the case that more than 80% of non-driver-based applications
> are 32-bit only. (Though like any made-up statistic, take that with a
> grain of salt.)
> For another perspective, look at the major applications: Firefox is 32-bit
> only (barring unofficial builds). Office has 32-bit and 64-bit versions,
> but the 32-bit version is the recommended one for general users (who don't
> need to edit large documents). Visual Studio itself is 32-bit only. Go to
> any typical Windows box (that has had some real usage, not just a freshly
> installed one) and count the number of applications in Program Files vs.
> those in Program Files (x86).
Ok, I see what you mean. However, that doesn't look like a technical
reason to build Boost for 32-bit Windows by default.
> Also, since I forgot to respond to this point earlier:
>> BTW, I think 32-bit Windows spread is overestimated. Here are some
>> stats from Steam, for example (click "OS Version" in the table):
> While Steam is somewhat ubiquitous, it's still a gaming platform. And
> gamers will almost always have 64-bit systems because they want the RAM --
> it's rare to find a modern game that isn't RAM-hungry, and even games of a
> decade ago often wanted 2GB, which meant your system would run better if you
> could have the magic 4GB of RAM or more.
> And again, 64-bit Windows platform does not imply that applications
> themselves are 64-bit. The majority case is still the opposite.
My point was that 32-bit Windows, the operating system, is rare. Even
typical non-gamer systems now have 4+ GiB of RAM and it is fair to
expect a 64-bit OS on it. Provided that 64-bit Windows is largely
dominant, why would we target 32-bit by default? Ok, Windows
applications are mainly 32-bit, and some probably have valid reasons
for that. But the OS and hardware are 64-bit native and we should make
use of that by default. If a developer wants to target his application
for 32-bit he should explicitly opt out.