[GHC] #12357: Increasing maximum constraint tuple size significantly blows up compiler allocations

GHC ghc-devs at haskell.org
Mon Jul 4 21:47:42 UTC 2016


#12357: Increasing maximum constraint tuple size significantly blows up compiler
allocations
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 Here are the same results from comment:5 but shown in terms of absolute
 change. All allocations given in these tables are in bytes.

 ||= Change     =||= alloc A  =||= alloc B  =||= name
 =||
 || +7420720.0 || 4477200  || 11897920 || $wa5 (ghc-7.11.20150614:Encoding)
 ||
 || +1869440.0 || 10348960 || 12218400 || $cgetUnique
 (ghc-7.11.20150614:Unique)                                  ||
 || +1538976.0 || 499856   || 2038832  || $wa3
 (ghc-7.11.20150614:Encoding.)                                      ||
 || +998016.0  || 6526672  || 7524688  ||
 (ghc-7.11.20150614:FastTypes.iBox)                                     ||
 || +810336.0  || 4372400  || 5182736  ||
 (ghc-7.11.20150614:FastString.uniqueOfFS)                              ||
 || +746304.0  || 3274992  || 4021296  || $ccompare1
 (ghc-7.11.20150614:Module)                                   ||
 || +458528.0  || 5368328  || 5826856  || a11 (ghc-7.11.20150614:IOEnv)
 ||
 || +375360.0  || 2830992  || 3206352  || $ccompare
 (ghc-7.11.20150614:Module)                                    ||
 || +277104.0  || 1640736  || 1917840  ||
 (ghc-7.11.20150614:Unique.mkUnique)                                    ||
 || +276184.0  || 22040    || 298224   ||
 (ghc-7.11.20150614:OccName.mkSuperDictSelOcc)                          ||
 || +255936.0  || 320      || 256256   || sat_sjxb
 (ghc-7.11.20150614:TcRnMonad)                                  ||
 || +244352.0  || 58488    || 302840   || ds1 (ghc-7.11.20150614:LoadIface)
 ||
 || +218960.0  || 905968   || 1124928  ||
 (ghc-7.11.20150614:TysWiredIn.isBuiltInOcc_maybe)                      ||
 || +172040.0  || 337216   || 509256   ||
 (ghc-7.11.20150614:IfaceEnv.lookupOrig)                                ||
 || +156400.0  || 672640   || 829040   || sat_s29U
 (ghc-7.11.20150614:UniqSupply)                                 ||
 || +152720.0  || 350440   || 503160   ||
 (ghc-7.11.20150614:FastString.unpackFS)                                ||
 || +146832.0  || 2029744  || 2176576  ||
 (ghc-7.11.20150614:Binary.getByte1)                                    ||
 || +145360.0  || 1439680  || 1585040  || $wa1
 (ghc-7.11.20150614:BinIface.)                                      ||
 || +142232.0  || 605144   || 747376   || $wa
 (ghc-7.11.20150614:FastString.)                                     ||
 || +137448.0  || 302448   || 439896   ||
 (ghc-7.11.20150614:UniqSupply.takeUniqFromSupply)                      ||
 || +131928.0  || 259992   || 391920   || $wa86 (ghc-7.11.20150614:Binary)
 ||
 || +125120.0  || 1819648  || 1944768  ||
 (ghc-7.11.20150614:UniqFM.lookupUFM)                                   ||
 || +125120.0  || 640832   || 765952   || a17 (ghc-7.11.20150614:UniqFM)
 ||
 || +112056.0  || 765296   || 877352   || a10 (ghc-7.11.20150614:IOEnv)
 ||
 || +109480.0  || 245336   || 354816   ||
 (ghc-7.11.20150614:Name.mkExternalName)                                ||
 || +106904.0  || 224336   || 331240   ||
 (ghc-7.11.20150614:IfaceEnv.extendNameCache)                           ||
 || +89424.0   || 318552   || 407976   ||
 (ghc-7.11.20150614:Unique.mkVarOccUnique)                              ||
 || +87952.0   || 1069664  || 1157616  || $wa3 (ghc-7.11.20150614:Binary.)
 ||
 || +78200.0   || 283320   || 361520   ||
 (ghc-7.11.20150614:FastString.mkFastStringByteString3)                 ||
 || +74520.0   || 2068360  || 2142880  || $cget5
 (ghc-7.11.20150614:IfaceType)                                    ||
 || +72680.0   || 1294840  || 1367520  || $cget4
 (ghc-7.11.20150614:IfaceType)                                    ||
 || +72680.0   || 748080   || 820760   || $cget2
 (ghc-7.11.20150614:IfaceType)                                    ||
 || +72680.0   || 787960   || 860640   || $cget1
 (ghc-7.11.20150614:IfaceType)                                    ||
 || +63296.0   || 827536   || 890832   ||
 (ghc-7.11.20150614:Unique.mkUniqueGrimily)                             ||
 || +62560.0   || 269056   || 331616   || sat_s29W
 (ghc-7.11.20150614:UniqSupply)                                 ||
 || +62560.0   || 269056   || 331616   || sat_s29V
 (ghc-7.11.20150614:UniqSupply)                                 ||
 || +61088.0   || 143104   || 204192   || $wa2
 (ghc-7.11.20150614:Encoding.)                                      ||
 || +49128.0   || 352488   || 401616   ||
 (ghc-7.11.20150614:Name.nameUnique)                                    ||

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


More information about the ghc-tickets mailing list