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