[GHC] #13535: vector test suite uses excessive memory on GHC 8.2
GHC
ghc-devs at haskell.org
Tue Apr 18 13:54:15 UTC 2017
#13535: vector test suite uses excessive memory on GHC 8.2
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #10800 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by bgamari):
You should be able to reproduce this with,
{{{
$ git clone git://github.com/haskell/vector
$ cd vector
$ git checkout 1d208ee9e3a252941ebd112e14e8cd5a982ac2bb
$ cabal install . --allow-newer=base,directory,process,haskeline,time,unix
--disable-library-profiling --enable-test
$ time ghc -no-link \
-i \
-idist/build/vector-tests-O2/vector-tests-O2-tmp \
-itests \
-idist/build/vector-tests-O2/autogen \
-idist/build/global-autogen \
-Idist/build/vector-tests-O2/autogen \
-Idist/build/global-autogen \
-Idist/build/vector-tests-O2/vector-tests-O2-tmp \
-optP-include \
-optPdist/build/vector-tests-O2/autogen/cabal_macros.h \
-XHaskell2010 \
-XCPP \
-XScopedTypeVariables \
-XPatternGuards \
-XMultiParamTypeClasses \
-XFlexibleContexts \
-XRank2Types \
-XTypeSynonymInstances \
-XTypeFamilies \
-XTemplateHaskell \
tests/Tests/Vector \
-O2 \
-Wall \
-fno-warn-orphans \
-fno-warn-missing-signatures \
-Wno-name-shadowing \
-Wno-unused-binds \
-Wno-unused-matches \
-Wno-unused-imports \
-ddump-to-file \
-ddump-simpl \
-dsuppress-idinfo \
-fforce-recomp \
-v \
+RTS -t 2>&1 | tee log
}}}
Then grep for `^\$s\$wfoldlM` in the `dump-simpl` output. You should see a
number of top-level bindings of the type that I mention in comment:10. In
my case they are all exactly of size,
{{{
-- RHS size: {terms: 209, types: 244, coercions: 466, joins: 0/7}
}}}
and the right-hand sides are identical.
It seems that the bindings in question are being excluded from CSE by
`CSE.noCSE`. I suspect they may be join points, but I'm still trying to
work out the particulars.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13535#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list