When you purchase through links on our site, we may earn an affiliate commission. Here’s how it works.

Linux about to get big performance boost from a native feature Windows 11 already borrowed

Linux is about to get some big performance gains soon from a native feature it already has. Interestingly, Microsoft borrowed it earlier for Windows 11.
tux the linux penguin
Image via Larry Ewing

If you are a fan of working on Linux, there is good news for you as the OS could get some big performance gains soon. That is because a developer, who has been contributing to .NET, confirmed a major performance upgrade for Linux .NET sockets in the runtime as they are being reworked to use the kernel’s own io_uring API. The change was disclosed in a recent GitHub pull request, marking a significant step forward for users and devs dealing with such workloads.

For those wondering, io_uring was introduced in the Linux kernel 5.1 back in 2019 as a modern asynchronous I/O (aio) framework. The design is meant to minimize system calls and context switches, which should result in substantial performance improvements for both files as well as network I/O.

Microsoft's Paul Moore, a Principal software engineer at the company, highlighted some of these benefits earlier:

benefits of async IO on Linux and elsewhere
Image via The Linux Foundation (YouTube)

What is interesting is that Microsoft borrowed this feature for Windows 11 as the current implementation of Windows I/O Ring API is apparently heavily based on Linux's io_uring, with certain modifications made for compatibility purposes, among other things.

The pull request was put forth by Ben Adams, who is the CTO and Co-founder of Illyriad Games and also a Microsoft MVP, and here are some of those "expected improvements" that are being promised with this upgrade under various workloads and scenarios:

  • Kestrel HTTP/1.1 Keep-Alive (TechEmpower Plaintext)
    • 15-40% reduction in per-request CPU cost. TechEmpower plaintext is historically syscall-bound; io_uring batching directly attacks this.

  • Kestrel HTTP/2 Multiplexed Streams (gRPC, Modern Web)
    • 5-15% per-connection throughput improvement. HTTP/2 is less I/O-bound than HTTP/1.1 at the TCP layer.
  • High Connection Count Idle Servers (WebSocket/SignalR Hubs, 10K+)
    • 30-50% memory overhead reduction for idle connections. 10-30% wake latency improvement.
  • Ultra-Low-Latency with SQPOLL (Game Servers, HFT, Real-Time)
    • 20x average / 100x P99 submit latency reduction under sustained load
  • HttpClient Outbound Requests (Microservice-to-Microservice)
    • 10-20% per-request latency reduction for short-lived connections.
  • Database Drivers (Npgsql, MySQL Connector, Redis)
    • Expected improvement: 5-15% latency reduction per query.
  • UDP Workloads (DNS, Game Servers, Telemetry Collectors)
    • 20-40% increase in packets-per-second for high-rate UDP.
  • Accept-Heavy Workloads (Load Balancers, Proxies, Connection Bursts)
    • Expected improvement: 20-50% improvement in connections-per-second under burst load.

Interestingly, the pull request, titled "Use io_uring for sockets on Linux," was edited heavily to remove all the above performance claims after its initial publication on the 17th of last month. However, it is still accessible through the archive.

Source: Wayback Machine

Windows 10 and 11 Wallpapers
Next Article

Statcounter reports massive Windows 11 market share increase

Volume Slider in Windows 11
Previous Article

Windows 11 is getting some very useful audio improvements

1 Comment

Load the comments and join the conversation!

Read the comments, ask the editors questions, show respect and join the conversation.

Click here