How come I cannot even create a 2GB mapped file inside the 64 bit VAS? Should this work even though it might not be clever to do it? What if I want to work with 2GB of JCHAR?
size =. 2147483648 bigfn =. jpath '~temp\big.jmf' createjmf_jmf_ bigfn;(size) map_jmf_ 'bigvar';bigfn On Sun, Nov 16, 2008 at 6:00 PM, Raul Miller <[EMAIL PROTECTED]> wrote: > 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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
