[BCX] Re: large arrays ?
David Barron
Thu Feb 26 20:36:46 PST 2009
Hi Kevin
I think I understand but will have to think about it , Does windows allocate the memory as it uses it, My laptop has 2 gb ram, but happily runs with quite few large dim variables, I have an 8 gb vista 64 bit I guess its the size of the numbers that boggles the brain because I think that I used to do a trick like that when limited to 10,10 dim's, its obviously very quick and neat just indexing down an array without the testing of value . what about win 64 I saw reports of a 64 bcx ?
Thanks for your help I will give it a go and let you know how I get on.
Regards Dave
________________________________
From: Kevin Diggins <kdiggins at C3dwzC93Ezt78PBY-y6u073PdxUit3shTalLml09coUdTWsVrYZTZjr8PXHWS1HGsmBDblQA-Md0EGM.yahoo.invalid>
To: BCX at yahoogroups.com
Sent: Friday, February 27, 2009 3:19:46 AM
Subject: [BCX] Re: large arrays ?
--- In BCX at yahoogroups. com, "Kevin Diggins" <kdiggins at .. .> wrote:
>
> Hi Dave,
> Short answer,no.
>
> The max memory available to any Win32 program is 2147483647 bytes
> (2gb). For example, the largest single dimension array you can DIM is
> DIM V [ 536870911 ]
Thinking out loud ... depending on how your data is being manipulated,
you might be able to simulate a much larger array by parting the data
into quadrants.
For example, the 8 singly dimensioned arrays below could also be seen
as representing a [2gb x 2gb] matrix, which is totally valid and will
compile on Win32. Basically, your left and right indices would need
to map into the respective array, depending on its value.
So, to fetch V [500000000, 900000000-536870911 ], you would reference
A1[500000000] and B2 [363129089]. .. aka, (900000000-53687091 1)
DIM A1 [ 536870911 ] : DIM A2 [ 536870911 ]
DIM B1 [ 536870911 ] : DIM B2 [ 536870911 ]
DIM C1 [ 536870911 ] : DIM C2 [ 536870911 ]
DIM D1 [ 536870911 ] : DIM D2 [ 536870911 ]
[Non-text portions of this message have been removed]
More information about the BCX
mailing list