-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why's the io_uring code so slow?! 🙂 #95
Comments
I think the root cause is that the SQ only ever has one entry in it at a time. I've tried a few "quick fixes" but none seem to help! |
Printing a few quick hacky metrics suggests that the loops in
|
I've just done some more experiments with
So I should use |
#51 has considerably sped up io_uring! We're now getting more like 5.1 GiB/s on |
After implementing O_DIRECT, uring is now competitive with object_store (phew!) I think the next "big things" to improve performance will be:
|
rx.recv
torecv_timeout
, with a small timeout, to wait for data fromrx
before submitting to uring.ObjectStore
&async
/await
. Use Channels instead. Focus entirely (for now) on io_uring for local file storage. #93. And also only pass in entire vectors of operations.Receiver<Vec<Operation>>
. This is important because this will affect the design for the Zarr front-end.The text was updated successfully, but these errors were encountered: