summaryrefslogtreecommitdiff
path: root/compiler/stranal
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2017-04-03 08:48:28 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2017-04-06 12:29:57 +0100
commitdd228b6eae18a05675b698fa309403d2310a269b (patch)
tree76948380c516850ff61e1d804094277ef52c9be3 /compiler/stranal
parentc600f3cee57a31c0ac9e3d88e0519f6bf056f55d (diff)
downloadhaskell-dd228b6eae18a05675b698fa309403d2310a269b.tar.gz
Add comments on DmdAnal space leak fix
Diffstat (limited to 'compiler/stranal')
-rw-r--r--compiler/stranal/DmdAnal.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/stranal/DmdAnal.hs b/compiler/stranal/DmdAnal.hs
index 2fc33a48b8..304a2becb3 100644
--- a/compiler/stranal/DmdAnal.hs
+++ b/compiler/stranal/DmdAnal.hs
@@ -90,6 +90,9 @@ evaluated everywhere that we produce it, so we just run a single
seqBinds over the output before returning it, to ensure that there are
no references holding on to the input Core program.
+This makes a ~30% reduction in peak memory usage when compiling
+DynFlags (cf Trac #9675 and #13426).
+
This is particularly important when we are doing late demand analysis,
since we don't do a seqBinds at any point thereafter. Hence code
generation would hold on to an extra copy of the Core program, via