5 个版本 (1 个稳定版)
1.0.0 | 2023年11月16日 |
---|---|
0.3.1 | 2023年10月4日 |
0.3.0 | 2023年9月27日 |
0.2.0 | 2023年9月27日 |
0.1.0 | 2023年9月26日 |
#1780 in 算法
每月 36 次下载
14KB
248 行
泛型且简单的双缓冲
此库仅提供 DoubleBuffer<T>
,用于实现双缓冲模式。
DoubleBuffer<T>
不仅限于字节数组或类似的缓冲区,它可以与任何需要在读取当前状态的同时修改的类型一起使用,所有更改都看起来像是一个原子操作。
交换基准测试
以下是在 i7 第10代处理器和 32GB RAM 的环境下,对于 vec![0u8; 16777216] 缓冲区的测试结果:
DoubleBuffer::swap()
- 1.6655 ns 1.6814 ns 1.6964 nsDoubleBuffer::swap_with_default()
- 1.7547 ns 1.8009 ns 1.8262 nsDoubleBuffer::swap_with_clone()
- 4.4526 ms 4.5241 ms 4.5989 ms