Why mmap is faster than system calls
When I ask my colleagues why mmap is faster than system calls, the answer is inevitably “system call overhead”: the cost of crossing the boundary between the user space and the kernel. It turns out that this overhead is more nuanced than I used to think, so let’s look under the hood to understand the performance differences.
Source: Why mmap is faster than system calls, an article by Alexandra (Sasha) Fedorova.