Skip to content

WIP io-uring runtime that probably still has soundness issues

Notifications You must be signed in to change notification settings

os-checker/async-uring

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

async-uring

io-uring on top of any async runtime using AsyncRead and AsyncWrite

Warning

This library is probably still very unsound and not cancellation safe. I'm working on fixing that though

Why tokio rw traits?

The FuturesAsyncReadCompatExt trait's compatibility layer re-initializes the buffer on every poll_read, making all reads output zeroes. This problem doesn't happen when going the other way

benches

Units are 16kb packets per second. All tests run with 100 sockets averaged over 30 seconds using tcp_load_test example in singlethread mode. Tests in other runtimes have been modified to change the buffer size to 16kb to make it fair.

  • async-uring + tokio ST: 167059.81
  • async-uring + tokio MT: 165319.33
  • monoio: 159179.67
  • tokio-uring: 155767.05
  • tokio MT: 111296.24
  • tokio ST: 5165.71
  • uSockets: DNF (it segfaulted)

About

WIP io-uring runtime that probably still has soundness issues

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.5%
  • Shell 0.5%