#lock-free #atomic #hash-map #garbage-collection

papaya

针对读密集型工作负载的高效且易用的并发哈希表

3 个版本

0.1.3 2024年7月31日
0.1.2 2024年7月20日
0.1.1 2024年7月10日
0.1.0 2024年7月10日
0.0.0 2021年11月10日

并发 中排名第 413

Download history 234/week @ 2024-07-08 163/week @ 2024-07-15 72/week @ 2024-07-22 180/week @ 2024-07-29 28/week @ 2024-08-05 54/week @ 2024-08-12

每月下载量 352
用于 2 crates

MIT 许可证

160KB
2.5K SLoC

papaya

crates.io github docs.rs

针对读密集型工作负载的高效且易用的并发哈希表。

查看文档以开始使用。

功能

  • 易用的无锁 API — 没有更多死锁!
  • 强大的原子操作。
  • 在异步上下文中无缝使用。
  • 极其可扩展,低延迟读取(见 性能)。
  • 所有操作都具有可预测的延迟。
  • 高效内存使用,由 seize 驱动的垃圾回收。

性能

papaya 是针对读密集型工作负载构建的。因此,读操作具有极高的吞吐量,并提供与并发性一致的性能,这意味着 papaya 将在读取比写入更常见的工作负载中表现出色。在写入密集型工作负载中,尽管这不是其主要用途,papaya 仍然会提供具有竞争力的性能。有关详细信息,请参阅基准测试

papaya 旨在提供所有操作的可预测和一致延迟。大多数操作都是无锁的,而那些不是的仅在罕见和受限条件下阻塞。papaya 还具有 增量调整大小 功能。可预测的延迟是性能的重要组成部分,在基准测试中通常不体现出来,但对实际使用具有重大影响。

依赖项

~0.1–10MB
~48K SLoC