summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2022-08-05 02:04:52 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-08-10 22:41:12 -0400
commit45eb4cbe372eadb8331c6dbc84f14c681b1a8a9b (patch)
treead29953a687dd208811b4a0b00edb53c062c776c
parent67575f2004340564d6e52af055ed6fb43d3f9711 (diff)
downloadhaskell-45eb4cbe372eadb8331c6dbc84f14c681b1a8a9b.tar.gz
Note [Trimming auto-rules]: State that this improves compiler perf.
-rw-r--r--compiler/GHC/Iface/Tidy.hs7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/GHC/Iface/Tidy.hs b/compiler/GHC/Iface/Tidy.hs
index 7fec591196..5f22f0275a 100644
--- a/compiler/GHC/Iface/Tidy.hs
+++ b/compiler/GHC/Iface/Tidy.hs
@@ -965,6 +965,13 @@ NB: if a binding is kept alive for some *other* reason (e.g. f_spec is
called in the final code), we keep the rule too.
This stuff is the only reason for the ru_auto field in a Rule.
+
+NB: In #18532 we looked at keeping auto-rules and it turned out to just make
+compiler performance worse while increasing code sizes at the same time. The impact
+varied. Compiling Cabal got ~3% slower, allocated ~3% more and wrote 15% more code to disk.
+Nofib only saw 0.7% more compiler allocations and executable file size growth. But given
+there was no difference in runtime for these benchmarks it turned out to be flat out worse.
+See the ticket for more details.
-}
findExternalRules :: TidyOpts