arena64 0.4.1

A concurrent arena providing mutually exclusive access over indexes
Documentation

Arena64

License Cargo Documentation

Arena64 provides data structures yielding slots that grant mutually exclusive access to interior cells. As slots can be converted into/from raw pointers tagged with the index using the low bits, this is well-suited for use-cases requiring thin-pointers.

Benchmark Results

Alloc

Box<T> Box<Box<T>> Bump64 Arena64
64 956.77 ns (✅ 1.00x) 3.12 us (❌ 3.26x slower) 239.17 ns (🚀 4.00x faster) 336.61 ns (🚀 2.84x faster)
128 1.91 us (✅ 1.00x) 6.17 us (❌ 3.23x slower) 430.16 ns (🚀 4.44x faster) 643.05 ns (🚀 2.97x faster)
256 3.85 us (✅ 1.00x) 12.44 us (❌ 3.23x slower) 858.97 ns (🚀 4.49x faster) 1.31 us (🚀 2.93x faster)
512 7.66 us (✅ 1.00x) 26.81 us (❌ 3.50x slower) 1.64 us (🚀 4.66x faster) 2.55 us (🚀 3.00x faster)
1024 15.22 us (✅ 1.00x) 46.29 us (❌ 3.04x slower) 3.23 us (🚀 4.72x faster) 5.14 us (🚀 2.96x faster)
2048 30.50 us (✅ 1.00x) 99.62 us (❌ 3.27x slower) 6.38 us (🚀 4.78x faster) 10.18 us (🚀 3.00x faster)