Hi,
Russell Whitaker wrote:
On Wed, 16 Jan 2002, Frank Heckenbach wrote:
Toby Ewing wrote:
I'm working with some large arrays (2^27 elements), and am about to run into memory limitations. Currently I'm using a bytecard for each element, but in expanding my program's capabilities, I want to add a second array of cardinal. This second cardinal needs to have a range larger than 2^16 (65535), but I don't have enough memory for a 2^32 cardinal. Sounds like 2^24 cardinals would be appropriate...
.. how much speed will I lose in memory access?
Given this simple test program:
...
I think the factor of 3 speed change shows it is packing even though the size is wrong.
Thanks, Russ. It's good to know it performs correctly, but the slowdown is nasty, given that some programs already run for days.
For my particular application, it seems the way to go is to fold the bytecard into the integer(24), giving a single 4-byte cardinal that I partition myself as I need. For a more general approach, I'll wait for Frank's fix in the next version.
Toby