On Wed, Apr 05, 2006 at 04:14:20PM +0200, Johannes Schindelin wrote: >> Inspired by a patch of Alex Riesen (thanks, Alex), I tried to use the >> regular mmap for mapping pack files, only to discover that I compile >> without defining "NO_MMAP", so I've been using the stock mmap all >> along. So now I'm thinking that the cygwin mmap also does a >> malloc-and-read, just like git does with NO_MMAP. So I'll continue to >> investigate in that direction. > >I think cygwin's mmap() is based on the Win32 API equivalent, which could >mean that it *is* memory mapped, but in a special area (which is smaller >than 1.5 gigabyte). In this case, it would make sense to limit the pack >size, thereby having several packs, and mmap() them as they are needed. Yes, cygwin's mmap uses CreateFileMapping and MapViewOfFile. IIRC, Windows might have a 2G limitation lurking under the hood somewhere but I think that might be tweakable with some registry setting. cgf - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html