intern-arc

Crates.iointern-arc
lib.rsintern-arc
version0.6.1
sourcesrc
created_at2020-06-09 07:00:43.402948
updated_at2023-10-02 10:37:45.86042
descriptionAn interner that deallocates unused values
homepagehttps://github.com/Actyx/intern-arc
repositoryhttps://github.com/Actyx/intern-arc
max_upload_size
id251788
size80,681
Developers (github:actyx:developers)

documentation

README

Interning library based on atomic reference counting

For the docs see docs.rs.

When developing please make use of cargo bench and cargo +nightly miri — the multithreading tests are sized such that they bring issues to the surface when run with miri (which is rather slow). Once you notice problems, debugging is easier with

export MIRIFLAGS=-Zmiri-disable-isolation
cargo +nightly miri test --features println -- --nocapture multithreading_hash

Another very useful tool is loom, run it with

LOOM_LOG=1 LOOM_LOCATION=1 LOOM_CHECKPOINT_INTERVAL=1 RUST_BACKTRACE=1 RUSTFLAGS="--cfg loom" cargo test --lib

Note: loom currently does not work because it doesn’t support Weak references.

License

At your option: Apache-2.0 or MIT

Commit count: 28

cargo fmt