OSDN Git Service

Change the region space region size to 256k.
authorHiroshi Yamauchi <yamauchi@google.com>
Thu, 23 Feb 2017 23:11:56 +0000 (15:11 -0800)
committerHiroshi Yamauchi <yamauchi@google.com>
Tue, 28 Feb 2017 00:53:58 +0000 (16:53 -0800)
commit6711cd8bc9f9053d653a52676177f8a29c1c36eb
tree9a3558d3b074bfe1e03b6f2242ef28273a53067d
parent02c488068f4793204b00b40d76eb3a891a332def
Change the region space region size to 256k.

Also add RegionSpace::non_free_region_index_limit_ to avoid the need
to scan the free end of the region table in SetFromSpace(), which
compensates (and more) the pause time increase due to the increasing
number of regions.

Ritz EAAC avg pause time (angler little core / -Xmx512m):
Before 186us
After  436us (without non_free_region_index_limit_)
After  103us

Partially revert aog/327342 and remove the temporary adjustment of
max/min-free. Changing the region size to 256k was enough to avoid the
GCE boot issue (b/34576638), but 154-gc-loop barely fails. Make
154-gc-loop failures less strict.

Allocation performance (angler little core / -Xmx512m)
Ritz EAAC
Before 939.6
After 937.8

BinaryTree
Before 603350
After 620200 (-3%)

Bug: 12687968
Test: test-art-host
Test: GCE boot
Change-Id: I1495ab4ced806e1c4d779d49b56cea618817a0d6
runtime/gc/accounting/read_barrier_table.h
runtime/gc/heap.cc
runtime/gc/space/region_space-inl.h
runtime/gc/space/region_space.cc
runtime/gc/space/region_space.h
test/154-gc-loop/src/Main.java