Using system calls for I/O has substantial overhead compared to using mmap. If the file is cached in the OS buffer cache layer (or can be effectively pre-fetched during the test), mmap gives us roughly 2-4x greater throughput for sequential reads than system calls. These numbers were measured on babur. Different hardware might give us different performance differences.
This project will create an experimental branch where the os_posix layer uses mmap for I/O instead of system calls.
This may have two benefits:
- Existing I/O bound workloads may run faster.
- If we adopt fast storage devices, such as NVRAM, eliminating the overhead of system calls will be essential to realizing the performance potential of those devices.
- causes
-
WT-5862 Add conditional around macro definition
- Closed