In Appendix A , File I/O Essentials, we covered how an application developer can exploit the available glibc library APIs as well as the typical system calls for performing file I/O (open, read, write, and close). While they work, of course, the reality is that performance is not really optimized. In this chapter, we focus on more advanced file I/O techniques, and how the developer can exploit newer and better APIs, for gaining performance.
Often, one gets stressed about the CPU(s) and its/their performance. While important, in many (if not most) real-world application workloads, it's really not the CPU(s) that drag down performance but the I/O code paths that are the real culprit. This is quite understandable; recall, from ...