Hacker News new | ask | show | jobs
by WJW 2051 days ago
Probably, but you will have to rip out all the io_uring specific bits and replace them with their Windows equivalent. Probably something with I/O completion ports.

If you are interested, look into the new Windows I/O scheduler that was implemented for GHC 9.0 (in Haskell, obv). There is also some preliminary work to integrate io_uring into the Haskell runtime if it' available, but the Haskell runtime philosophy is rather different from the Rust approach.

1 comments

Worth noting that having number of IOCP worker threads == number of cores has always been the official suggestion for building IOCP applications.

Eg https://docs.microsoft.com/en-us/windows/win32/fileio/i-o-co...

>The concurrency value of a completion port is specified when it is created with CreateIoCompletionPort via the NumberOfConcurrentThreads parameter. This value limits the number of runnable threads associated with the completion port.

>[...]

>The best overall maximum value to pick for the concurrency value is the number of CPUs on the computer.