From c4cd95fa37b7138a0fa26d07c235aa409542aecd Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Thu, 20 Nov 2014 10:08:31 -0800 Subject: [PATCH] Tune rosalloc buffer sizes. We now use one-page buffers for size brackets 4-7, instead of two-page buffers, and the first 8 size brackets for thread-local allocations, instead of 11. No slowdown observed with MemAllocTest, EvaluateAndApplyChanges, and BinaryTrees. Bug: 18377775 Change-Id: Ie1bb46bcf5d3729197e48e26a27da4cc39dd807e --- runtime/gc/allocator/rosalloc.cc | 2 +- runtime/gc/allocator/rosalloc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/runtime/gc/allocator/rosalloc.cc b/runtime/gc/allocator/rosalloc.cc index ad22a2eae..7e88c41f6 100644 --- a/runtime/gc/allocator/rosalloc.cc +++ b/runtime/gc/allocator/rosalloc.cc @@ -1772,7 +1772,7 @@ void RosAlloc::Initialize() { if (i < 4) { numOfPages[i] = 1; } else if (i < 8) { - numOfPages[i] = 2; + numOfPages[i] = 1; } else if (i < 16) { numOfPages[i] = 4; } else if (i < 32) { diff --git a/runtime/gc/allocator/rosalloc.h b/runtime/gc/allocator/rosalloc.h index b2a5a3c96..5daac92ae 100644 --- a/runtime/gc/allocator/rosalloc.h +++ b/runtime/gc/allocator/rosalloc.h @@ -403,7 +403,7 @@ class RosAlloc { // We use thread-local runs for the size Brackets whose indexes // are less than this index. We use shared (current) runs for the rest. - static const size_t kNumThreadLocalSizeBrackets = 11; + static const size_t kNumThreadLocalSizeBrackets = 8; private: // The base address of the memory region that's managed by this allocator. -- 2.11.0