Skip to content

Releases: M1tsumi/arena-b

v1.0.0

01 Jan 03:54

Choose a tag to compare

arena-b 1.0.0

We're shipping the first stable release of arena-b! This is a high-performance bump allocator for Rust with a stable API, solid documentation, and performance optimizations that have been battle-tested in real projects.

What's in 1.0.0

This release is the complete package for fast memory allocation in Rust. The core bump allocator has extremely low overhead for sequential allocations, and the optional features let you tune things for your specific needs.

ArenaBuilder gives you full control over configuration. Want custom chunk sizes? Thread-local caching? Your own diagnostics? The builder pattern makes it straightforward to set up exactly what you need.

We kept the library lightweight with feature flags—only compile what you use. Just need basic bump allocation? The core is tiny. Building a game engine? Turn on thread_local and lockfree for maximum throughput. Working on a parser? The defaults will serve you well.

Key Features

  • Stable public API with semantic versioning guarantees
  • ArenaBuilder for declarative configuration
  • Feature bundles (perf, safety, debuggable, server) for common use cases
  • Enhanced diagnostics: chunk_usage(), validate(), cache stats
  • Improved virtual memory handling with graceful fallbacks
  • Comprehensive documentation and migration guides

Performance

Benchmarks show 5-10x faster allocations vs Box for small objects. Bulk deallocation through reset() or checkpoints is basically instant. Thread-local caching cuts contention by 20-40% in multi-threaded scenarios.

All examples have been validated and the test suite covers multiple feature combinations. CI passes on Linux, Windows, and macOS.

Getting Started

Add to your Cargo.toml:

[dependencies]
arena-b = "1.0.0"

Check the README and docs/ directory for usage examples, performance tuning tips, and migration notes.

Thanks

Big thanks to everyone who tested pre-release versions and gave feedback. Your input made this release possible.

See CHANGELOG.md for the complete list of changes since 0.9.