libunifex
libunifex copied to clipboard
Experiment with a low-latency Windows I/O scheduler
Implement some of the low-latency ideas from llfio's experiments with sender/receiver that allow I/O operations to complete prior to the completion event being posted to the IOCP queue by polling the OVERLAPPED structure for a completion status and executing the continuation before the notification is delivered via GetQueuedCompletionStatus()
.
This would require placing the OVERLAPPED structure outside of the operation-state (perhaps using a pool-allocator) so that the operation-state can be destroyed by the continuation before receiving the completion event and then returning the OVERLAPPED structure to a free-list when the completion event eventually comes in.
A proof-of-concept implementation of this idea is available in #139