memory-mapped files
Vladimir Panteleev
thecybershadow at gmail.com
Tue Feb 17 20:58:21 PST 2009
On Wed, 18 Feb 2009 06:22:17 +0200, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> wrote:
> 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.
Perhaps this may help:
http://en.wikipedia.org/wiki/Memory-mapped_file#Drawbacks
--
Best regards,
Vladimir mailto:thecybershadow at gmail.com
More information about the Digitalmars-d
mailing list