Lines Matching refs:allocator
2 This document describes how to verify the native memory allocator on Android.
3 This procedure should be followed when upgrading or moving to a new allocator.
10 It is important to note that there are two modes for a native allocator
11 to run in on Android. The first is the normal allocator, the second is
21 When evaluating a native allocator, make sure that you benchmark both
26 a native allocator needs to implement.
51 These are mallopt options that Android requires for a native allocator
56 allocator will attempt to purge and release any unused memory back to the
60 When set to non-zero, `mallopt(M_DECAY_TIME, 1)`, an allocator can delay the
61 purge and release action. The amount of delay is up to the allocator
63 allocator was implemented to have a one second delay.
77 When called, `mallopt(M_PURGE, 0)`, an allocator should purge and release
86 These are the tests that should be run to verify an allocator is
90 The bionic unit tests contain a small number of allocator tests. These
101 that a native allocator will have its own set of tests that can be run.
130 allocator on Android. One is allocation speed in various different scenarios,
131 another is total RSS taken by the allocator.
135 been allocator bugs that cause memory failures when too much virtual
144 These benchmarks are only used to verify the speed of the allocator and
153 and helps to get a number that can be compared to the new allocator.
191 If these numbers are slightly worse than the current allocator, the
196 These are the benchmarks that examine how the allocator handles multiple
202 counted. The value of 8192 was chosen since the jemalloc native allocator
205 not be used as absolutes for determining if an allocator is worth using.
228 allocator, jemalloc, showed a problem at forty allocations.
243 As with the other microbenchmarks, an allocator with numbers in the same
252 This benchmark is designed to verify that the allocator will be performant
267 These numbers should be as performant as the current allocator.
271 of the current allocator.
278 Calls to mallinfo are used in ART so a new allocator is required to be
279 nearly as performant as the current allocator.
284 allocator, only that the performance be in the same order of magnitude.
294 These benchmarks measure all three axes of a native allocator, RSS, virtual
359 current allocator. But, they should be in the same range as the current
362 When evaluating an allocator, one of the most important traces is the
369 current allocator. A small increase (on the order of a few MBs) would be okay.
372 when running the memory traces acts as a proxy for this. An allocator that
376 up and down a bit, but stays mostly the same so an allocator that fragments
379 NOTE: When a native allocator calls mmap, it is expected that the allocator
384 If the native allocator creates a different name, then it necessary to
390 of the maps that this allocator includes.