diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2020-07-11 06:37:12 -0400 |
---|---|---|
committer | Andreas Klebinger <klebinger.andreas@gmx.at> | 2020-12-21 13:22:09 +0100 |
commit | 55279804c845cef2299e04bc96b3b970b6ad4bfd (patch) | |
tree | e689679ce60d778663a6cae5c38fe241c3603e13 /rts/RtsFlags.c | |
parent | b4508bd6f8b6492d2e74053d7338980109174861 (diff) | |
download | haskell-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.c | 5 |
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 */ |