Skip to content
/ nolock Public

A collection of Lock-Free algorithms and datatstructures

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

Lol3rrr/nolock

Repository files navigation

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

About

A collection of Lock-Free algorithms and datatstructures

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Languages