I get the point, but mmap is a syscall as well. Perhaps a better title would be, "Why using mmap is faster than using read and write syscalls".
Would using O_DIRECT flag result in similar timings for mmap and read/write?
Would using O_DIRECT flag result in similar timings for mmap and read/write?
It would be fun to run the experiment non the less.
From open(2) man pages on O_DIRECT: Try to minimize cache effects of the I/O to and from this file. In general this will degrade performance, but it is useful in special situations, such as when applications do their own caching. File I/O is done directly to/from user- space buffers