On Mon, Dec 8, 2008 at 8:03 AM, Viktor Cerovski <[EMAIL PROTECTED]> wrote: > Matthew Brand-2 wrote: >> I don't understand how J or any other application can limit itself to >> physical RAM. >> > Because of the speed. If all of the above were really used, generic > use of huge arrays as it is done in most languages could seriously degrade > execution speed (good old "swapping" problem). If, however, you > do linear or "chunk"-based access and processing, performance is fine. > > It is like with dealing with processor cache. We have a hierarchy of > memories: > L1, L2, L3 then "L4" (RAM) and "L5" (HD) caches, according to their speed.
This is also because of modularity, and good system design. The underlying api here is imposed by the OS, as are the limits, which is where they belong. The language does not actually know how much physical memory you have -- it is just passing on the limits provided by the host operating system. If the OS implementation of virtual memory were adequate, you would not see this issue. (That said, the OS in turn is limited by your hardware. For example, it can not efficiently represent addresses beyond a hardware imposed limit.) -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
