文件名称:iouring-go:io_uring对go的支持
文件大小:47KB
文件格式:ZIP
更新时间:2024-04-10 03:43:48
Go
io_uring去 正在进行的工作该库添加了对 for Go的支持。这个库类似于 。如果您想贡献自己的力量来发送PR或电子邮件,则有很多事情需要清理。另外,也请查看的库,以获取类似的方法。理想情况下,将这些方法添加到Go运行时以实现最佳效率,因此这些库更像是POC,请参见。 与提交/完成队列进行交互 设计 设计该库的目的是,如果您想使用自己的实现来处理提交/完成,则所有内容都可以使用。另外, Ring结构上也有一些辅助方法,这些方法也可以与标准库接口交互。还有一个用于创建net.Listener的接口,但是它仍在进行中。 提交队列 提交和完成队列都被映射为切片,然后问题就变成了如何设计一个高效的API,该API也能够与许多标准库接口进行交互。一种选择是运行后台goroutine,该goroutine管理队列中的所有操作并使用通道对请求进行排队。这种方法的缺点是通道设计中的可能使其对于高吞吐
【文件预览】:
iouring-go-master
----.gitignore(17B)
----go.mod(179B)
----utils.go(1KB)
----types_test.go(6KB)
----submitter.go(1KB)
----conn_test.go(852B)
----ops.go(12KB)
----uring_enter_test.go(264B)
----ring_benchmark_test.go(4KB)
----ring_option_test.go(726B)
----LICENSE(1KB)
----go.sum(1KB)
----ring.go(10KB)
----ring_test.go(903B)
----conn.go(9KB)
----.github()
--------ISSUE_TEMPLATE()
--------workflows()
----examples()
--------write()
--------cp()
--------standalone()
--------net()
--------bulk-socket()
----ring_conn.go(4KB)
----README.md(10KB)
----register_test.go(964B)
----tests()
--------bug-9.go(645B)
----read_writer_test.go(1KB)
----read_writer.go(5KB)
----uring_setup.go(4KB)
----uring_enter.go(558B)
----register.go(4KB)
----ring_option.go(2KB)
----types.go(6KB)
----completer.go(1KB)
----uring_setup_test.go(302B)
----ops_test.go(9KB)
----consts.go(3KB)