facebookexperimental / facebookexperimental/libunifex

Experiment with a low-latency Windows I/O scheduler

Open
#66 1 comment 0 reactions 1 assignee Claimed by @lewissbaker View on GitHub
Dominant language
C++
Stars
1.7k
Forks
210
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.