Charles Forsyth wrote:
I could imagine that databases use mmap() havily
it's a little mystery for me why they would do that since it's slower (or ought
to be),
because the trap path and fault recovery must do more work than syscall
(perhaps much more).
it's also difficult then to optimise the replacement strategy for the
application
without madvise calls (and you trust those implicitly?) but those are system
calls that cost time.
makes sense of course...
but at least mysql uses mmap() for some table types as a caching mechanism.
http://www.mysqlperformanceblog.com/2006/05/26/myisam-mmap-feature-51/
this may just be an exception and real databases use read()/write() syscalls
and implement the caching themself.
but where should i know... i dont need/use databases and have not looked
at the sourcecode of one.
cinap