atomic64
is on Crates.io.
To use atomic64
, first add this to your Cargo.toml
:
toml
[dependencies]
atomic64 = "0.1.0"
Then, add this to your crate root:
rust
extern crate atomic64;
You can now use AtomicI64 and AtomicU64.
Due to the use of const fn
to allow the creation of AtomicI64::new
and AtomicU64::new
in constant context, atomic64 is only usable on nightly rust. Maybe conditional compilation could solve the issue ?
Includes code derived from Syncbox.
On 64-bits platforms, atomic64 will internally use Rust's AtomicIsize and AtomicUsize.
On 32-bits platforms, atomic64 will use an i64 or u64 wrapped by a Mutex. The performance will be wildly different between 32 and 64 bits platforms, with 64 bits expected to be faster.