Boost logo

Boost :

Subject: Re: [boost] Interest request for pointer+bit compression optimization
From: Edouard A. (edouard_at_[hidden])
Date: 2009-09-08 04:02:35


On Tue, 8 Sep 2009 08:47:15 +0100, Neil Groves <neil_at_[hidden]>
wrote:

> I would be alarmed if it was floating around. My concern was the
perceived
> lack of documented guarantees. I was ignorant of any documentation with
> respect to the pointer ranges in the 64-bit Windows Operating Systems. My
> motivation was to clarify the safe useable ranges and ensure we weren't
> going to use undocumented implementation details by default.

They are safe and clearly documented. What could happen is an extension of
the user range,
if someday 8 TB of memory shows to be too limited for user processes (it
will happen some day, don't worry ;) ).

You don't care too much about the extensions of the paged pool and non
paged pool from an user process point of view. That may change earlier.

Anyway, we have time before this happens and it will be clearly explained
and documented. Failure to do so would result in the breakage of many
system components.

> I was unaware of these exact address ranges, but you are correct. I have
> found documentation to this effect here:
> http://www.amd64.ru/download.php?uid=24504
>
> The documentation for these ranges is not nearly as easy to find as the
> safe
> ranges for the 32-bit platforms.

This is because the 64-bit platform is (it saddens me) not yet widely
adopted, I guess.

>> The fact that these are safe documented user ranges alters my opinion.
>> Does
> anyone know of a way to determine the linker flag setting
> /LARGEADDRESSAWARE, or is it better to implement a pessimisation?

Yes, GlobalMemoryStatusEx will give you the total amount of virtual memory
available, but we're talking about half of a bit. :p

Regards.

-- 
EA

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk