diff options
author | Jason Evans <jasone@canonware.com> | 2014-09-29 08:31:39 (GMT) |
---|---|---|
committer | Jason Evans <jasone@canonware.com> | 2014-09-29 08:31:39 (GMT) |
commit | 0c5dd03e889d0269170b5db9fa872738d906eb78 (patch) | |
tree | 002e19adea637f17130ed64673069e053283a973 /Makefile.in | |
parent | f97e5ac4ec8a5ae7ed74829e6c1bf6ce814947f5 (diff) | |
download | jemalloc-0c5dd03e889d0269170b5db9fa872738d906eb78.zip jemalloc-0c5dd03e889d0269170b5db9fa872738d906eb78.tar.gz jemalloc-0c5dd03e889d0269170b5db9fa872738d906eb78.tar.bz2 |
Move small run metadata into the arena chunk header.
Move small run metadata into the arena chunk header, with multiple
expected benefits:
- Lower run fragmentation due to reduced run sizes; runs are more likely
to completely drain when there are fewer total regions.
- Improved cache behavior. Prior to this change, run headers were
always page-aligned, which put extra pressure on some CPU cache sets.
The degree to which this was a problem was hardware dependent, but it
likely hurt some even for the most advanced modern hardware.
- Buffer overruns/underruns are less likely to corrupt allocator
metadata.
- Size classes between 4 KiB and 16 KiB become reasonable to support
without any special handling, and the runs are small enough that dirty
unused pages aren't a significant concern.
Diffstat (limited to 'Makefile.in')
0 files changed, 0 insertions, 0 deletions