uring:用于io_uring框架的Golang库(无CGO)

时间:2024-06-11 18:26:27
【文件属性】:

文件名称:uring:用于io_uring框架的Golang库(无CGO)

文件大小:33KB

文件格式:ZIP

更新时间:2024-06-11 18:26:27

Go

用于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个振铃(每个内核一个)


【文件预览】:
uring-master
----go.mod(144B)
----fixed()
--------pool.go(2KB)
--------allocator.go(1KB)
--------buffer.go(684B)
--------pool_test.go(2KB)
----loop()
--------loop_test.go(6KB)
--------queue.go(8KB)
--------poll_test.go(832B)
--------poll.go(1002B)
--------loop.go(7KB)
----go.sum(1KB)
----register_test.go(2KB)
----register.go(4KB)
----ring_test.go(7KB)
----core.go(6KB)
----fs()
--------utils.go(289B)
--------file_test.go(8KB)
--------fs.go(2KB)
--------file.go(3KB)
--------fixed_test.go(1KB)
--------fixed.go(1KB)
----ops.go(4KB)
----LICENSE(1KB)
----setup.go(3KB)
----ring.go(6KB)
----README.md(6KB)
----core_test.go(220B)
----.gitignore(18B)

网友评论