summaryrefslogtreecommitdiff
path: root/rts/RtsFlags.c
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2020-07-11 06:37:12 -0400
committerAndreas Klebinger <klebinger.andreas@gmx.at>2020-12-21 13:22:09 +0100
commit55279804c845cef2299e04bc96b3b970b6ad4bfd (patch)
treee689679ce60d778663a6cae5c38fe241c3603e13 /rts/RtsFlags.c
parentb4508bd6f8b6492d2e74053d7338980109174861 (diff)
downloadhaskell-wip/andreask/allocationArea.tar.gz
Increase -A default to 4MB.wip/andreask/allocationArea
This gives a small increase in performance under most circumstances. For single threaded GC the improvement is on the order of 1-2%. For multi threaded GC the results are quite noisy but seem to fall into the same ballpark. Fixes #16499
Diffstat (limited to 'rts/RtsFlags.c')
-rw-r--r--rts/RtsFlags.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/rts/RtsFlags.c b/rts/RtsFlags.c
index b23b19752b..044e7742c4 100644
--- a/rts/RtsFlags.c
+++ b/rts/RtsFlags.c
@@ -153,10 +153,11 @@ void initRtsFlagsDefaults(void)
RtsFlags.GcFlags.stkChunkSize = (32 * 1024) / sizeof(W_);
RtsFlags.GcFlags.stkChunkBufferSize = (1 * 1024) / sizeof(W_);
- RtsFlags.GcFlags.minAllocAreaSize = (1024 * 1024) / BLOCK_SIZE;
+ /* -A default. See #16499 for a discussion about the tradeoffs */
+ RtsFlags.GcFlags.minAllocAreaSize = (4 * 1024 * 1024) / BLOCK_SIZE;
RtsFlags.GcFlags.largeAllocLim = 0; /* defaults to minAllocAreasize */
RtsFlags.GcFlags.nurseryChunkSize = 0;
- RtsFlags.GcFlags.minOldGenSize = (1024 * 1024) / BLOCK_SIZE;
+ RtsFlags.GcFlags.minOldGenSize = (1024 * 1024) / BLOCK_SIZE; /* -O default */
RtsFlags.GcFlags.maxHeapSize = 0; /* off by default */
RtsFlags.GcFlags.heapLimitGrace = (1024 * 1024);
RtsFlags.GcFlags.heapSizeSuggestion = 0; /* none */