#reclamation #atomic #epoch #memory

no-std flize

非全局、可配置且快速的并发资源回收

18 个稳定版本 (4 个主要版本)

4.2.3 2020 年 12 月 11 日
4.2.2 2020 年 11 月 14 日
4.2.1 2020 年 10 月 31 日
4.0.1 2020 年 9 月 30 日
0.0.0 2020 年 8 月 13 日

#7 in #reclamation

每月下载量 45

MIT 许可证

89KB
2K SLoC

flize

flize 实现基于时代的回收,比 crossbeam-epoch 的限制更少。

本库的主要目标是拥有一个非常 rusty 的 API,并拥有清晰简洁的源代码。

我们的 MSRV 是 1.36,增加它被视为一个破坏性更改。

此外,正如测试基准所示,flize 在遇到未优化的行为和内存使用不可接受的情况时,比 crossbeam-epoch 的风险显著更低。在我们的测试中,flize 在资源使用上比 crossbeam-epoch 更加一致。

如果你有需要并发环境中销毁的资源,且不想承担锁定的代价,这个库很有用。

version

documentation

downloads

minimum rustc version

测试

测试在每次推送和拉取请求时由我们的 CI 自动执行。发布和 master 分支应该始终通过测试。

由于本库的性质,它高度依赖于架构和操作系统。因此,我们在多个不同的架构上运行测试,使用模拟并确保库在 Linux、Windows 和 macOS 上成功构建。

所有测试都是在我们的 MSRV 工具链上进行的,它是 Rust 1.36 stable-2019-07-04

测试目标

以下是我们在其上构建和测试的目标及其使用的操作系统。

Ubuntu 18.04

  • x86_64-unknown-linux-gnu
  • i686-unknown-linux-gnu
  • aarch64-unknown-linux-gnu
  • powerpc64le-unknown-linux-gnu

Windows Server 2019

  • x86_64-pc-windows-msvc

macOS Catalina 10.15

  • x86_64-apple-darwin

依赖项

~415–710KB
~17K SLoC