mmap is also good for passing shared memory around.
(You still need to be careful, of course.)
(You still need to be careful, of course.)
Without mmap, every process ends up caching its own private copy of that data in memory (think fopen, fread, etc). With mmap, every process accesses the same cached copy of that data directly from the FS cache.
Granted this is a rather specific use case, but for this case it makes a huge difference.