uring:用于io
用于io_uring框架的Golang库(无CGO)
io_uring是异步IO的新内核接口。 最好的介绍是。
请注意,该库主要在5.8。*内核上进行了测试。 虽然该库的核心未使用任何新功能,但将通过io_uring在内核上工作,该io_uring支持标志IORING_SETUP_CQSIZE和IORING_SETUP_ATTACH_WQ,并支持带有eventfd的通知(IORING_REGISTER_EVENTFD)-一些测试将取决于最新功能和如果在不支持这些功能的内核上运行,将可能因密码错误而失败。
基准测试
在5.8.15内核,ext4和Samsung EVO 960上收集了用于读取40gb文件的基准。使用O_DIRECT打开文件。 基准测试正在将使用io_uring或os的最佳策略来读取文件的最快方法进行比较。
io_uring
共享内核工作程序有16个振铃(每个内核一个)