From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Array and memory usage
Date: 10 Mar 2003 18:33:07 -0500
Date: 2003-03-10T18:33:07-05:00 [thread overview]
Message-ID: <wccfzpuajbg.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 1ec946d1.0303100713.7f7bcbb7@posting.google.com
mheaney@on2.com (Matthew Heaney) writes:
> Robert A Duff <bobduff@shell01.TheWorld.com> wrote in message news:<wccr89ge7hw.fsf@shell01.TheWorld.com>...
> >
> > If you use this trick on Windows, it will allocate backing store for all
> > that virtual memory. I believe most Unix systems are smarter than that.
> >
> > This trick is sometimes more efficient than linked lists for growable
> > data structures. The links waste space, plus if you're not careful, the
> > list gets scattered all over the place, damaging cache behavior. The
> > nice thing about arrays is that they are contiguous.
>
> One thing you can on Windows is simply reserve the virtual memory for
> the array, without committing it to physical memory, and then use SEH
> ("structured exception handling") to handle the error.
>
> The SEH mechanism supports resumption semantics, so you can handle the
> exception by committing the page you need, and then resuming from the
> spot from where the exception was raised.
>
> This is documented in Jeff Richter's Programming Applications book.
I thought it happened automatically. That is, if I say:
X: array (1..100_000_000) of Integer;
it would allocate 400,000,000 bytes of virtual memory, but only allocate
physical pages on demand. I believe that much works on Windows (without
calling windows-specific stuff like SEH). (Windows 2000, Windows XP.)
The problem I found was that it allocated 400,000,000 bytes of backing
store, which was annoying.
Am I misinformed?
- Bob
next prev parent reply other threads:[~2003-03-10 23:33 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-09 11:19 Array and memory usage Preben Randhol
2003-03-09 11:52 ` John R. Strohm
2003-03-09 12:11 ` Preben Randhol
2003-03-09 13:34 ` Marin David Condic
2003-03-09 15:05 ` Preben Randhol
2003-03-10 1:45 ` Mark Biggar
2003-03-10 11:57 ` Marin David Condic
2003-03-10 12:06 ` Jeffrey Creem
2003-03-09 17:49 ` Robert A Duff
2003-03-09 17:04 ` Jeffrey Creem
2003-03-09 17:09 ` Preben Randhol
2003-03-09 18:10 ` Robert A Duff
2003-03-10 15:13 ` Matthew Heaney
2003-03-10 23:33 ` Robert A Duff [this message]
2003-03-11 0:40 ` Randy Brukardt
2003-03-11 23:37 ` Robert A Duff
2003-03-12 19:18 ` Randy Brukardt
2003-03-11 16:01 ` Matthew Heaney
2003-03-11 17:38 ` Warren W. Gay VE3WWG
-- strict thread matches above, loose matches on Subject: below --
2003-03-12 22:04 Alexandre E. Kopilovitch
2003-03-12 22:20 ` Larry Kilgallen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox