Zero System Calls: Building a High-Performance Web Server with io_uring

2025-08-22

This article details the evolution of building high-performance web servers, from early pre-forking to select/poll, then epoll, and finally achieving zero system calls using io_uring. The author developed an experimental web server called tarweb that utilizes io_uring to asynchronously add all operations to a kernel queue, thereby avoiding the overhead of frequent system calls. Combined with kTLS and descriptorless files, further performance improvements are achieved. While challenges remain, such as memory management and io_uring's safety concerns, the project demonstrates the potential for significant performance gains in high-concurrency scenarios.