2008/11/16 Matthew Brand <[EMAIL PROTECTED]>: > I don't think I understand all this 64-bit stuff at all now. > > I am using J64 for Linux on 64 bit Ubuntu on VMWare fusion > on Leopard on a 2GB Mac Book Pro. I thought that by using > J64 I would be able to work with arrays of much larger size > because the Virtual Address Space would be larger. > > But I get this: > #i.2^24 > 16777216 > #i.2^30 > |out of memory > | # i.2^30
In J64, each integer occupies 64 bits or 64%8 bytes (2^30)*64%8 8.58993e9 To hold that array, you will need enough virtual memory to hold it, to hold the J interpreter, and to hold the operating system. If you want to manipulate that array, I would recommend having 5 times as much space as you would need to hold it. Note, also, that using virtual memory is much slower than using real memory. (10000 times slower? I am not sure of the exact numbers.) Essentially, the operating system winds up having to write all large results to your swap file when you create them and then read all large results from that file when you read them. -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
