Turso finds io_uring readahead cuts device requests 12x in TPC-H benchmark
A throwaway pull request to add readahead to Turso's io_uring backend became a case study in I/O performance. Without readahead, Turso issues one io_uring read at a time and waits for each to complete before requesting the next page; with a 32-page prefetch window enabled via PRAGMA, it submits many reads concurrently. On a TPC-H full-table scan, this dropped actual device requests from about 196,000 to roughly 16,300, while average request size grew more than tenfold and request-merging jumped from near zero to over 90%.