Skip to content

A fast and ergonomic concurrent hash-table for read-heavy workloads.

License

Notifications You must be signed in to change notification settings

ibraheemdev/papaya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

papaya

crates.io github docs.rs

A fast and ergonomic concurrent hash-table for read-heavy workloads.

See the documentation to get started.

Features

  • An ergonomic lock-free API — no more deadlocks!
  • Powerful atomic operations.
  • Seamless usage in async contexts.
  • Extremely scalable, low-latency reads (see performance).
  • Predictable latency across all operations.
  • Efficient memory usage, with garbage collection powered by seize.

Performance

papaya is built with read-heavy workloads in mind. As such, read operations are extremely high throughput and provide consistent performance that scales with concurrency, meaning papaya will excel in workloads where reads are more common than writes. In write heavy workloads, papaya will still provide competitive performance despite not being it's primary use case. See the benchmarks for details.

papaya aims to provide predictable and consistent latency across all operations. Most operations are lock-free, and those that aren't only block under rare and constrained conditions. papaya also features incremental resizing. Predictable latency is an important part of performance that doesn't often show up in benchmarks, but has significant implications for real-world usage.