diff options
author | Mathieu Chartier <mathieuc@google.com> | 2015-04-15 14:21:33 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2015-04-15 14:42:50 -0700 |
commit | 10d6886c9ce3ed87431cf10d376a69c23950fa61 (patch) | |
tree | 52cfc18e941d78e480c5fdacda57721083b5e51f /runtime/gc | |
parent | a76a08fed88bd081bcc4d240f1ba3472a2acbbab (diff) | |
download | art-10d6886c9ce3ed87431cf10d376a69c23950fa61.zip art-10d6886c9ce3ed87431cf10d376a69c23950fa61.tar.gz art-10d6886c9ce3ed87431cf10d376a69c23950fa61.tar.bz2 |
Disable parallel GC by default
Not using parallel GC seems to reduce avg pauses by ~0.1s on
EvaluateAndApplyChanges. Avoiding creating the thread pool should
help app launch slightly and reduce memory ussage.
Change-Id: Iebec2a17701c76e4145b41d7c0b4f6dd17806efa
Diffstat (limited to 'runtime/gc')
-rw-r--r-- | runtime/gc/collector/mark_sweep.cc | 6 | ||||
-rw-r--r-- | runtime/gc/heap.h | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/runtime/gc/collector/mark_sweep.cc b/runtime/gc/collector/mark_sweep.cc index bb8d876..e65d1f1 100644 --- a/runtime/gc/collector/mark_sweep.cc +++ b/runtime/gc/collector/mark_sweep.cc @@ -740,11 +740,7 @@ size_t MarkSweep::GetThreadCount(bool paused) const { if (heap_->GetThreadPool() == nullptr || !heap_->CareAboutPauseTimes()) { return 1; } - if (paused) { - return heap_->GetParallelGCThreadCount() + 1; - } else { - return heap_->GetConcGCThreadCount() + 1; - } + return (paused ? heap_->GetParallelGCThreadCount() : heap_->GetConcGCThreadCount()) + 1; } void MarkSweep::ScanGrayObjects(bool paused, uint8_t minimum_age) { diff --git a/runtime/gc/heap.h b/runtime/gc/heap.h index 2f62798..066b4c5 100644 --- a/runtime/gc/heap.h +++ b/runtime/gc/heap.h @@ -145,6 +145,8 @@ class Heap { static constexpr double kDefaultHeapGrowthMultiplier = 2.0; // Primitive arrays larger than this size are put in the large object space. static constexpr size_t kDefaultLargeObjectThreshold = 3 * kPageSize; + // Whether or not parallel GC is enabled. If not, then we never create the thread pool. + static constexpr bool kDefaultEnableParallelGC = false; // Whether or not we use the free list large object space. Only use it if USE_ART_LOW_4G_ALLOCATOR // since this means that we have to use the slow msync loop in MemMap::MapAnonymous. |