summaryrefslogtreecommitdiff
path: root/rts/RtsFlags.c
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2020-07-11 06:37:12 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-12-22 22:10:06 -0500
commit553c59ca5581bcba79ea7d9672cffd438905d846 (patch)
tree5484c37ffdef7266ae91166a642d83461965493e /rts/RtsFlags.c
parent4c3fae472c0223dbbf8062cd7ab1e24b3e9c01c6 (diff)
downloadhaskell-553c59ca5581bcba79ea7d9672cffd438905d846.tar.gz
Increase -A default to 4MB.
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 */