Skip to content

1.4.0

Compare
Choose a tag to compare
@mjansson mjansson released this 08 Aug 19:00
75e19cc
  • Improved cross thread deallocations by using per-span atomic free list to minimize thread
    contention and localize free list processing to actual span

  • Change span free list to a linked list, conditionally initialized one memory page at a time

  • Reduce number of conditionals in the fast path allocation and avoid touching heap structure
    at all in best case

  • Avoid realigning block in deallocation unless span marked as used by alignment > 32 bytes

  • Revert block granularity and natural alignment to 16 bytes to reduce memory waste

  • Bugfix for preserving data when reallocating a previously aligned (>32 bytes) block

  • Use compile time span size by default for improved performance, added build time RPMALLOC_CONFIGURABLE preprocessor directive to reenable configurability of span and page size

  • More detailed statistics

  • Disabled adaptive thread cache by default

  • Fixed an issue where reallocations of large blocks could read outsize of memory page boundaries

  • Tag mmap requests on macOS with tag 240 for identification with vmmap tool