I think I saw that in java 7 they are allowing ByteBuffer to accept a long. This means no more 2gb limit for memory mapped io (it was never 4 gb because ByteBuffer pukes on negative integers).
I've been astonished by how fast memory mapped io is in java. So thumbs up for memory mapped derby pages. On Feb 28, 2009, at 5:00 PM, Kurt Huwig <[email protected]> wrote: Hi, I just stumbled upon this page http://varnish.projects.linpro.no/wiki/ArchitectNotes where the author writes that caching of disk files within the application hurts performance on current operating systems. Right now, the data is in memory at least twice: the OS cache and the Derby cache which sounds suboptimal. And it gets worse if the OS decides to swap out the application's cache. With the widespread use of 64-bit machines and therefore a huge address space, is it possible to (optionally) disable the page cache and use memory mapped files instead? This would also solve the "how much page cache to use?"-problem. Sure on 32 bit you are limited to a database size of 1-3 GB but you should still see the speedup, especially on low memory systems. -- Kurt GnuPG 1024D/99DD9468 64B1 0C5B 82BC E16E 8940 EB6D 4C32 F908 99DD 9468
