Skip to content

non global, configurable and fast concurrent resource reclamation

License

Notifications You must be signed in to change notification settings

dmgolembiowski/atoma

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flize

flize implements fast non-global epoch-based reclamation

flize strives for excellent performance achieved through relentless optimization with a clean and rusty API.

We have an MSRV of 1.51 and increasing it is considered a breaking change.

This crate is useful if you have resources that require destruction in a concurrent environment and you don't want to pay the price of locking.

version

documentation

downloads

minimum rustc version

Features

  • std - Enables the default TLS and allocator providers that hook into the standard library.
  • fast-barrier - Accelerates shield creation and destruction significantly on Windows, macOS and Linux and falls back to a platform agnostic implementation on other targets.

Both are enabled by default.

no_std

Flize supports no_std with or without alloc by disabling the std feature.

Examples

The examples directory contains some sample code using flize. We're always keen to add more examples so please feel free to expand the collection if you've got a good implementation of something relatively simple.

Testing

Testing is done automatically by our CI on every push and pull request. Releases and the master branch should always pass tests.

Due to the nature of this crate it is heavily architecture and OS dependent. Because of this we run tests on a number of different architectures using emulation and check that the crate builds successfully on Linux, Windows and macOS.

All testing is done on our MSRV toolchain which is Rust 1.51 stable-2021-03-25.

Test targets

These are targets we build and test on.

Ubuntu 18.04

  • x86_64-unknown-linux-gnu
  • i686-unknown-linux-gnu
  • aarch64-unknown-linux-gnu
  • powerpc64le-unknown-linux-gnu

Windows Server 2019

  • x86_64-pc-windows-msvc

macOS Catalina 10.15

  • x86_64-apple-darwin

About

non global, configurable and fast concurrent resource reclamation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 100.0%