[GHC] #13535: vector test suite uses excessive memory on GHC 8.2
GHC
ghc-devs at haskell.org
Thu Apr 13 22:58:54 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):
I setup a test environment to build just `tests/Utilities.hs`,
`tests/Boilerplater.hs`, and `tests/Tests/Vector.hs` with both GHC 8.3
(13131ce9165b4e5e5193dc381f6f3d021e53792f and 8.0.2. In addition to
building `Tests.Vector` as-is, I also built it enabling each of the
testcases in the `tests` list individually (that is, commenting out all
but one). The result is interesting: While compilation on `master` is
significantly faster than 8.0.2 in the individual cases, it is
significantly slower when all of the testcases are enabled. Clearly there
is something non-linear going on here. I'm on the case.
{{{
Building Utilities, Boilerplater, and Tests.Vector of vector
1d208ee9e3a252941ebd112e14e8cd5a982ac2bb
GHC 8.3 (13131ce9165b4e5e5193dc381f6f3d021e53792f
nothing: <<ghc: 2925044864 bytes,
278 GCs, 22310773/ 86050104 avg/max bytes residency (10 samples), 185M
in use, 0.001 INIT (0.001 elapsed), 3.107 MUT (3.960 elapsed), 1.025
GC (1.047 elapsed) :ghc>>
Data.Vector.Vector (Bool) <<ghc: 25467716144 bytes,
1155 GCs, 89898567/ 202234368 avg/max bytes residency (19 samples), 558M
in use, 0.000 INIT (0.000 elapsed), 23.601 MUT (24.429 elapsed), 9.281
GC (9.277 elapsed) :ghc>>
Data.Vector.Vector (Int) <<ghc: 25538028952 bytes,
1060 GCs, 87592922/ 201496320 avg/max bytes residency (19 samples), 530M
in use, 0.000 INIT (0.001 elapsed), 23.226 MUT (24.239 elapsed), 8.672
GC (8.674 elapsed) :ghc>>
Data.Vector.Primitive.Vector (Int) <<ghc: 21588867344 bytes,
1004 GCs, 78872219/ 167736032 avg/max bytes residency (18 samples), 468M
in use, 0.000 INIT (0.000 elapsed), 20.046 MUT (20.788 elapsed), 7.783
GC (7.779 elapsed) :ghc>>
Data.Vector.Primitive.Vector (Double) <<ghc: 22386494072 bytes,
1070 GCs, 81997699/ 179105312 avg/max bytes residency (18 samples), 501M
in use, 0.001 INIT (0.001 elapsed), 21.594 MUT (22.527 elapsed), 8.253
GC (8.260 elapsed) :ghc>>
Data.Vector.Storable.Vector (Int) <<ghc: 22169976680 bytes,
972 GCs, 80817260/ 175301760 avg/max bytes residency (18 samples), 476M
in use, 0.000 INIT (0.000 elapsed), 21.496 MUT (22.450 elapsed), 8.426
GC (8.433 elapsed) :ghc>>
Data.Vector.Storable.Vector (Double) <<ghc: 23029038616 bytes,
1001 GCs, 85430763/ 193090296 avg/max bytes residency (18 samples), 521M
in use, 0.001 INIT (0.001 elapsed), 22.058 MUT (23.002 elapsed), 8.746
GC (8.769 elapsed) :ghc>>
Data.Vector.Unboxed.Vector () <<ghc: 17260324632 bytes,
797 GCs, 64556858/ 149284504 avg/max bytes residency (16 samples), 410M
in use, 0.001 INIT (0.005 elapsed), 13.861 MUT (14.588 elapsed), 4.881
GC (5.020 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Bool) <<ghc: 22619684880 bytes,
918 GCs, 78584919/ 172329120 avg/max bytes residency (18 samples), 479M
in use, 0.001 INIT (0.000 elapsed), 16.857 MUT (17.451 elapsed), 6.200
GC (6.195 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Int) <<ghc: 22019118280 bytes,
1077 GCs, 80830924/ 183396408 avg/max bytes residency (18 samples), 489M
in use, 0.000 INIT (0.000 elapsed), 15.595 MUT (16.157 elapsed), 6.095
GC (6.093 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Double) <<ghc: 22359631568 bytes,
1046 GCs, 82354182/ 189338112 avg/max bytes residency (18 samples), 508M
in use, 0.000 INIT (0.000 elapsed), 16.458 MUT (17.004 elapsed), 6.365
GC (6.361 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Int,Bool) <<ghc: 34451441464 bytes,
1265 GCs, 111090192/ 271240872 avg/max bytes residency (21 samples), 700M
in use, 0.000 INIT (0.000 elapsed), 23.294 MUT (24.014 elapsed), 9.330
GC (9.324 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Int,Bool,Int) <<ghc: 43613769744 bytes,
1304 GCs, 129477158/ 317303208 avg/max bytes residency (23 samples), 813M
in use, 0.001 INIT (0.000 elapsed), 29.817 MUT (30.697 elapsed), 12.156
GC (12.147 elapsed) :ghc>>
everything <<ghc: 264695216008 bytes,
4003 GCs, 547291435/1356463272 avg/max bytes residency (35 samples), 3566M
in use, 0.000 INIT (0.000 elapsed), 227.028 MUT (236.855 elapsed), 97.713
GC (97.751 elapsed) :ghc>>
GHC 8.0.2
nothing <<ghc: 3602875384 bytes, 424
GCs, 19427090/ 80066928 avg/max bytes residency (10 samples), 172M in
use, 0.000 INIT (0.001 elapsed), 0.011 MUT (2.709 elapsed), 0.001 GC
(0.696 elapsed) :ghc>>
Data.Vector.Vector (Bool) <<ghc: 36799624512 bytes, 1640
GCs, 126755494/ 312669744 avg/max bytes residency (23 samples), 790M in
use, 0.000 INIT (0.001 elapsed), 0.219 MUT (27.706 elapsed), 0.069 GC
(13.049 elapsed) :ghc>>
Data.Vector.Vector (Int) <<ghc: 36339886904 bytes, 1640
GCs, 122810903/ 305389720 avg/max bytes residency (24 samples), 758M in
use, 0.000 INIT (0.001 elapsed), 0.242 MUT (26.717 elapsed), 0.054 GC
(12.381 elapsed) :ghc>>
Data.Vector.Primitive.Vector (Int) <<ghc: 37367710936 bytes, 1765
GCs, 127647151/ 255413768 avg/max bytes residency (23 samples), 710M in
use, 0.000 INIT (0.001 elapsed), 0.076 MUT (28.191 elapsed), 0.036 GC
(13.306 elapsed) :ghc>>
Data.Vector.Primitive.Vector (Double) <<ghc: 41169666648 bytes, 1936
GCs, 136122135/ 336152832 avg/max bytes residency (24 samples), 837M in
use, 0.000 INIT (0.001 elapsed), 0.149 MUT (38.908 elapsed), 0.051 GC
(17.125 elapsed) :ghc>>
Data.Vector.Storable.Vector (Int) <<ghc: 40219735080 bytes, 1978
GCs, 132890651/ 362367016 avg/max bytes residency (24 samples), 858M in
use, 0.000 INIT (0.002 elapsed), 0.875 MUT (43.129 elapsed), 0.393 GC
(18.668 elapsed) :ghc>>
Data.Vector.Storable.Vector (Double) <<ghc: 44209977992 bytes, 1993
GCs, 140871502/ 369615896 avg/max bytes residency (25 samples), 887M in
use, 0.000 INIT (0.001 elapsed), 0.155 MUT (41.027 elapsed), 0.093 GC
(18.374 elapsed) :ghc>>
Data.Vector.Unboxed.Vector () <<ghc: 29436191560 bytes, 1532
GCs, 102427352/ 241113128 avg/max bytes residency (21 samples), 636M in
use, 0.000 INIT (0.001 elapsed), 0.278 MUT (29.596 elapsed), 0.102 GC
(11.599 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Bool) <<ghc: 40109059768 bytes, 1923
GCs, 126872809/ 251075736 avg/max bytes residency (24 samples), 662M in
use, 0.000 INIT (0.001 elapsed), 0.204 MUT (38.656 elapsed), 0.044 GC
(15.936 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Int) <<ghc: 38385729456 bytes, 1772
GCs, 126917981/ 319870600 avg/max bytes residency (23 samples), 838M in
use, 0.000 INIT (0.000 elapsed), 0.285 MUT (36.855 elapsed), 0.075 GC
(15.675 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Double) <<ghc: 41411280800 bytes, 1807
GCs, 134424736/ 373355704 avg/max bytes residency (24 samples), 890M in
use, 0.000 INIT (0.001 elapsed), 0.296 MUT (40.076 elapsed), 0.180 GC
(17.301 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Int,Bool) <<ghc: 64510301216 bytes, 2629
GCs, 175595458/ 458265816 avg/max bytes residency (28 samples), 1148M in
use, 0.000 INIT (0.001 elapsed), 0.354 MUT (60.415 elapsed), 0.154 GC
(26.855 elapsed) :ghc>>
Data.Vector.Unboxed.Vector (Int,Bool,Int) <<ghc: 82592190776 bytes, 2955
GCs, 211131511/ 486148096 avg/max bytes residency (29 samples), 1259M in
use, 0.000 INIT (0.001 elapsed), 0.440 MUT (73.214 elapsed), 0.192 GC
(33.230 elapsed) :ghc>>
everything <<ghc: 65784761184 bytes, 2602
GCs, 180664844/ 403016968 avg/max bytes residency (29 samples), 994M in
use, 0.000 INIT (0.001 elapsed), 0.469 MUT (52.120 elapsed), 0.259 GC
(24.801 elapsed) :ghc>>
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13535#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list