2个不稳定版本
0.2.0 | 2024年5月28日 |
---|---|
0.1.0 | 2023年10月3日 |
#337 in 内存管理
在 2 crate 中使用
93KB
2.5K SLoC
fluke-buffet
这个crate大部分是个糟糕的主意,但它为fluke
提供了缓冲区管理。
它设计为将一大块内存进行内存映射,然后,嗯,分配引用计数的(非线程安全)片段。它在我之前的一些基准测试中比堆分配更快。
此外,它与io_uring兼容,你可以将其中一个片段的所有权交给一个读写操作,直到该操作完成,其他人无法使用它,这非常巧妙。
有一系列分割操作试图维持引用计数,以及整个项目的“一个可变引用 XOR 多个只读引用”的感觉。
我并不真的相信buffet是处理这个问题的最佳方式,但现在它可行,对io_uring和回退代码路径友好...就这样吧。
依赖关系
~6–15MB
~187K SLoC