9 个版本

0.1.9-alpha12023年8月3日
0.1.8-alpha12023年8月3日

366嵌入式开发

每月 25 次下载

MIT/Apache

9KB
167

rapidsync

你是否渴望优雅地进行可变线程安全存储?

快速同步是一个数据存储的集合,它提供了(线程安全的)内部可变性,而不需要可变引用。它的目标是尽可能安全、高性能和灵活,按此顺序。

这个库的创建是因为我们喜欢 DashMap 的灵活性,但希望为超级高流量系统提供更安全的方法。

这个库处于 alpha 阶段。请帮助让它变得更好!如果您有性能建议、想要新功能或遇到问题,请打开 一个 issue 或 pull request

存储

高性能、线程安全的存储,提供轻松的简单接口、无拷贝读取、快速写入和可变引用 - 而不需要对存储本身的可变引用

特性

  • 除非您持有可变引用并尝试读写,否则锁不会被破坏
    • 在调试构建中,rapidsync 会自动通知您是否检测到死锁
  • 由于快速性能而没有分割树,因此在所有条件下都具有内存安全性
  • 无外部依赖
  • 原子支持
  • 安全且快速的锁定 - 无 std RwLock

RapidSnap - 单元

RapidMap

映射 - 即将推出

注意事项、注意事项、建议

  • 设计上,存储在读取或写入时不能被破坏。存储可以被“破坏”的唯一方式是您拥有一个可变引用并尝试读取/写入相同的对象。可以通过以下方式解决:
    • 让可变引用超出作用域(对于大多数用户来说,这是好的)
    • 调用 rust 默认函数 drop

无运行时依赖