One Thread to Poll Them All: How a Single Pipe Made WaterDrop 50% Faster

This is Part 2 of the 'Karafka to Async Journey' series. Part 1 covered WaterDrop's integration with Ruby's async ecosystem and how fibers can yield during Kafka dispatches. This article covers another improvement in this area: migration of the producer polling engine to file descriptor-based polling. When I released WaterDrop's async/fiber support in September 2025, [ ] The post One Thread to…