Skip to content

Releases: antiguru/rust-lgalloc

v0.7.0

16 Mar 13:50
5e38aa6

Choose a tag to compare

Breaking changes

  • Replace file-backed memory mappings with MAP_ANONYMOUS + MADV_HUGEPAGE.
    Allocations now use anonymous mappings with transparent huge page hints instead
    of memory-mapped temporary files. (#67)
  • Remove LgAlloc::path, LgAlloc::with_path(), and LgAlloc::file_growth_dampener().
    Use LgAlloc::growth_dampener() instead.
  • Remove FileStats, MapStats, and lgalloc_stats_with_mapping().
    lgalloc_stats() is the only stats function.
  • Remove LgAllocStats::file and LgAllocStats::map fields.
  • Raise minimum size class from 2^10 (1 KiB) to 2^21 (2 MiB), matching one huge page.
  • Handle::prefetch now takes a typed element range (prefetch::<T>(Range<usize>))
    and returns PrefetchError instead of AllocError.

Added

  • Handle::prefetch::<T>(Range<usize>) for typed prefetch hints via MADV_WILLNEED.
  • PrefetchError type for prefetch-specific errors.
  • munmap on GlobalStealer::drop to return virtual address space on shutdown.
  • Graceful handling of MADV_HUGEPAGE failure (one-time warning instead of error).
  • Allocation benchmarks comparing lgalloc, system allocator, and raw mmap.

Fixed

  • Use MADV_FREE (Linux) / MADV_DONTNEED (other) for background clear instead of
    MADV_REMOVE, which fails on anonymous memory.

Removed

  • numa_maps, memmap2, tempfile, serial_test dependencies.

Other

  • Move tests to integration test files.
  • Rewrite README with structured sections.
  • Update release-plz workflow to patch README version automatically (#68).

v0.6.0

27 May 15:12
a8aa816

Choose a tag to compare

Other

  • Split fast and slow stats (#62)

v0.5.0

27 Feb 13:45
8dab262

Choose a tag to compare

Other

  • Configurable local buffer size (#60)
  • Assign thread name to background worker (#58)
  • File growth dampener (#57)

v0.4.0

23 Nov 12:23
d0f310f

Choose a tag to compare

Other

  • File stats wrapped in result (#53)

v0.3.1

13 Mar 19:04
1508062

Choose a tag to compare

Other

  • Try harder to reclaim disk space
  • Only run tests on pull request and pushes to main
  • Add API to disable lgalloc globally

v0.3.0

06 Mar 15:13
f54bd74

Choose a tag to compare

Other

  • Remove memory based on byte size instead of count

v0.2.2

28 Feb 20:23
5208ac1

Choose a tag to compare

Other

  • Fix the background scheduler to reschedule itself

v0.2.1

25 Feb 04:48
59f956b

Choose a tag to compare

Other

  • Extract numa_maps into separate crate
  • Update documentation

v0.2.0

23 Feb 21:44
b5e569e

Choose a tag to compare

Other

  • Use release-plz to update
  • Remove Region API
  • numa_maps parsing and reporting
  • Add eager_return option to call MADV_DONTNEED on non-cached frees
  • Remove bench, require less recent Rust
  • Bump version
  • Merge pull request #33 from antiguru/extend_size_classes
  • Add more supported size classes
  • Cleaner APIs
  • Support zst
  • Change public interface to directly allocate memory
  • Bump version to 0.1.6
  • Threads maintain a byte-size bounded cache
  • Merge pull request #24 from antiguru/bump_version
  • Do not populate when mapping
  • Merge pull request #20 from antiguru/bgthread_fix
  • Merge pull request #22 from antiguru/all_targets
  • Re-use buffer in tests
  • Documentation, bump version, remove unused print_stats
  • Store areas in ManuallyDrop
  • Expose less access to the region-allocated vector
  • Hide the internal state of Region::MMap
  • Address comments
  • Introduce benchmark
  • Clearer implementation around ftruncate
  • Remove stale comment
  • Make tests faster
  • Reuse background worker on configuration update
  • Remove diagnostics function
  • Remove Region::MIN_MMAP_SIZE
  • Update readme
  • Relax version requirements
  • Bump version
  • Fix MADV_DONTNEED_STRATEGY
  • Use MADV_REMOVE on Linux, MADV_DONTNEED otherwise
  • Allow publishing crate
  • Merge pull request #9 from antiguru/deps
  • Rename crate to lgalloc
  • Only require Rust 1.70, chosen to be compatible with other projects
  • Make LgAllocStats::size_class pub
  • Report stats
  • Merge pull request #4 from antiguru/enabled_flag
  • More focused inline annotations
  • cargo format
  • Introduce configurations, size class abstraction.
  • More usability improvements.
  • Split global region into resident and non-resident
  • Initial import