8 releases

0.4.1 Sep 3, 2022
0.4.0 Mar 17, 2022
0.3.1 Aug 22, 2021
0.2.3 Jul 10, 2021
0.1.0 Jul 5, 2021

#426 in Concurrency

49 downloads per month

MIT/Apache

350KB
7.5K SLoC

Docs Crates.io

Nolock

A collection of Lock-Free (sometimes also Wait-Free) algorithms and datastructures

Goal

The Goal of this Crate is to provide a save, easy to use and fast implementation for a variety of different Lock-Free or Wait-Free datastructures.

no_std Support

Rust's no_std is supported for parts of this crate, to use this you need to disable the default features of the Crate and can then enable the specific features you need. Currently supported are:

  • queues

Feature-Flags

Name Default Description
std true Enables the std, which is needed for most of the other Features
queues true Enables the different Queues implementation
hash_trie true Enables the Hash-Trie-Map implementation
async true Enables async varients of different Datastructures
thread_data true Enables the lockfree Thread-Local-Storage
hazard_ptr true Enables the Hazard-Pointer implementation
hyaline true Enables the Hyaline implementation
full true Enables all Feature-Flags

Development

Benchmarking

  • Running benchmarks using cargo bench --bench criterion_bench --
  • Running benchmarks with profiling using cargo bench --bench criterion_bench -- --profile-time=5

Dependencies

~0–27MB
~335K SLoC