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

Reply via email to