[GHC] #13535: vector test suite uses excessive memory on GHC 8.2

GHC ghc-devs at haskell.org
Thu Jun 29 06:21:55 UTC 2017


#13535: vector test suite uses excessive memory on GHC 8.2
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  bgamari
            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 dfeuer):

 FWIW, this is what I see on HEAD right now, compiling with

 {{{
 ~/src/ghc-clean-june28/inplace/bin/ghc-stage2  -no-link -fbuilding-cabal-
 package -static -dynamic-too -dynosuf dyn_o -dynhisuf dyn_hi -outputdir
 dist/build/vector-tests-O2/vector-tests-O2-tmp -odir dist/build/vector-
 tests-O2/vector-tests-O2-tmp -hidir dist/build/vector-tests-O2/vector-
 tests-O2-tmp -stubdir dist/build/vector-tests-O2/vector-tests-O2-tmp -i
 -idist/build/vector-tests-O2/vector-tests-O2-tmp -itests
 -idist/build/autogen -Idist/build/autogen -Idist/build/vector-tests-O2
 /vector-tests-O2-tmp -optP-include -optPdist/build/autogen/cabal_macros.h
 -hide-all-packages -package-db dist/package.conf.inplace -package
 HUnit-1.6.0.0 -package QuickCheck-2.9.2 -package base -package random-1.1
 -package template-haskell -package test-framework-0.8.1.1 -package test-
 framework-hunit-0.3.0.2 -package test-framework-quickcheck2-0.3.0.3
 -package transformers-0.5.2.0 -package vector-0.12.0.1 -XHaskell2010 -XCPP
 -XScopedTypeVariables -XPatternGuards -XMultiParamTypeClasses
 -XFlexibleContexts -XRank2Types -XTypeSynonymInstances -XTypeFamilies
 -XTemplateHaskell tests/Tests/Vector.hs -O2 -fno-warn-orphans -fno-warn-
 missing-signatures -Rghc-timing
 }}}

 {{{
 DV Bool:
 <<ghc: 20949749104 bytes, 908 GCs, 85137861/201300312 avg/max bytes
 residency (18 samples), 550M in use, 0.001 INIT (0.001 elapsed), 16.766
 MUT (17.304 elapsed), 7.197 GC (7.203 elapsed) :ghc>>

 DV Int:
 <<ghc: 20880225088 bytes, 986 GCs, 86497889/198602480 avg/max bytes
 residency (19 samples), 552M in use, 0.001 INIT (0.001 elapsed), 16.368
 MUT (16.871 elapsed), 7.422 GC (7.415 elapsed) :ghc>>

 DVP Int:
 <<ghc: 17623866944 bytes, 806 GCs, 74242958/170729104 avg/max bytes
 residency (17 samples), 462M in use, 0.001 INIT (0.001 elapsed), 14.402
 MUT (14.861 elapsed), 6.131 GC (6.150 elapsed) :ghc>>

 DVP Double:
 <<ghc: 18468475504 bytes, 872 GCs, 78279555/177860440 avg/max bytes
 residency (18 samples), 492M in use, 0.001 INIT (0.001 elapsed), 15.021
 MUT (15.457 elapsed), 6.609 GC (6.603 elapsed) :ghc>>

 DVS Int:
 <<ghc: 18872431048 bytes, 1046 GCs, 76865901/183460000 avg/max bytes
 residency (18 samples), 488M in use, 0.001 INIT (0.001 elapsed), 15.192
 MUT (15.736 elapsed), 6.655 GC (6.651 elapsed) :ghc>>

 DVS Double:
 <<ghc: 19785957096 bytes, 917 GCs, 80582965/199247800 avg/max bytes
 residency (18 samples), 516M in use, 0.001 INIT (0.001 elapsed), 15.735
 MUT (16.301 elapsed), 6.882 GC (6.908 elapsed) :ghc>>

 DVU ():
 <<ghc: 14525404952 bytes, 727 GCs, 62579804/151799480 avg/max bytes
 residency (16 samples), 421M in use, 0.001 INIT (0.001 elapsed), 11.827
 MUT (12.210 elapsed), 4.514 GC (4.509 elapsed) :ghc>>

 DVU Bool:
 <<ghc: 18936248568 bytes, 962 GCs, 79517335/183260976 avg/max bytes
 residency (18 samples), 512M in use, 0.001 INIT (0.001 elapsed), 14.761
 MUT (15.275 elapsed), 6.348 GC (6.340 elapsed) :ghc>>

 DVU Int:
 <<ghc: 17814993240 bytes, 891 GCs, 72855136/165527616 avg/max bytes
 residency (18 samples), 463M in use, 0.001 INIT (0.001 elapsed), 14.094
 MUT (14.503 elapsed), 5.989 GC (5.983 elapsed) :ghc>>

 DVU Double:
 <<ghc: 18153061952 bytes, 1018 GCs, 76748433/177534552 avg/max bytes
 residency (18 samples), 497M in use, 0.001 INIT (0.001 elapsed), 14.585
 MUT (15.029 elapsed), 6.340 GC (6.340 elapsed) :ghc>>

 DVU (Int, Bool):
 <<ghc: 28661798488 bytes, 1120 GCs, 103585683/238779464 avg/max bytes
 residency (20 samples), 667M in use, 0.001 INIT (0.001 elapsed), 21.903
 MUT (22.544 elapsed), 9.687 GC (9.690 elapsed) :ghc>>

 DVU (Int, Bool, Int):
 <<ghc: 35820203960 bytes, 1458 GCs, 129650246/294742648 avg/max bytes
 residency (22 samples), 811M in use, 0.001 INIT (0.001 elapsed), 26.240
 MUT (27.016 elapsed), 12.636 GC (12.650 elapsed) :ghc>>

 Total allocations for all individual:
        250492415944

 all together:
 <<ghc: 228679556144 bytes, 3540 GCs, 530024080/1227152400 avg/max bytes
 residency (35 samples), 3529M in use, 0.001 INIT (0.001 elapsed), 179.387
 MUT (188.302 elapsed), 84.584 GC (84.509 elapsed) :ghc>>
 }}}

 So it currently allocates somewhat less compiling all together than
 compiling separately. bgamari's table for 8.0.2 looks like it has the
 wrong number for the "all together" case, so I'm not sure how to compare.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13535#comment:30>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list