memory-mapped files

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Feb 17 20:22:17 PST 2009


Brad Roberts wrote:
> bearophile wrote:
>  >> What the heck is going on? When does memory mapping actually help?<
>> You are scanning the file linearly, and the memory window you use is
>> probably very small. In such situation a memory mapping is probably
>> not the best thing. A memory mapping is useful when you for example
>> operate with random access on a wider sliding window on the file.
> 
> You can drop the 'sliding' part.  mmap tends to help when doing random
> access (or sequential but non-contiguous maybe) over a file.  Pure
> streaming is handled pretty well by both patterns.  One nicity with mmap
> is that you can hint to the os how you'll be using it via madvise.  You
> can't do that with [f]read.

This all would make perfect sense if the performance was about the same 
in the two cases. But in fact memory mapping introduced a large 
*pessimization*. Why? I am supposedly copying less data and doing less 
work. This is very odd.


Andrei



More information about the Digitalmars-d mailing list