
#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 actual relative changes in allocations. ||= % change =||= alloc A =||= alloc B =||= name =|| || +79980.0% || 320 || 256256 || `sat_sjxb (ghc-7.11.20150614:TcRnMonad)` || || +3860.0% || 440 || 17424 || `sat_sjxt (ghc-7.11.20150614:TcRnMonad)` || || +3772.0% || 400 || 15488 || `sat_sjxu (ghc-7.11.20150614:TcRnMonad)` || || +1516.7% || 432 || 6984 || `sat_sjyB (ghc-7.11.20150614:TcHsSyn)` || || +1253.1% || 22040 || 298224 || ` (ghc-7.11.20150614:OccName.mkSuperDictSelOcc)` || || +417.8% || 58488 || 302840 || `ds1 (ghc-7.11.20150614:LoadIface)` || || +307.9% || 499856 || 2038832 || `$wa3 (ghc-7.11.20150614:Encoding.)` || || +287.5% || 384 || 1488 || ` (ghc-7.11.20150614:Unique.mkCTupleTyConUnique)` || || +287.5% || 3072 || 11904 || ` (ghc-7.11.20150614:TysWiredIn.cTupleTyConName)` || || +255.6% || 936 || 3328 || `sat_sjz8 (ghc-7.11.20150614:TcRnMonad)` || || +165.7% || 4477200 || 11897920 || `$wa5 (ghc-7.11.20150614:Encoding)` || || +139.4% || 2376 || 5688 || ` (ghc-7.11.20150614:OccName.mkClassDataConOcc)` || || +132.4% || 17792 || 41344 || ` (ghc-7.11.20150614:IfaceSyn.ifaceDeclImplicitBndrs)` || || +77.3% || 39520 || 70064 || ` (ghc-7.11.20150614:FastString.mkFastString)` || || +51.0% || 337216 || 509256 || ` (ghc-7.11.20150614:IfaceEnv.lookupOrig)` || || +50.7% || 259992 || 391920 || `$wa86 (ghc-7.11.20150614:Binary)` || || +49.6% || 63104 || 94384 || `updNameCacheTcRn (ghc-7.11.20150614:IfaceEnv)` || || +48.9% || 3760 || 5600 || `$cget (ghc-7.11.20150614:CoAxiom)` || || +47.7% || 224336 || 331240 || ` (ghc-7.11.20150614:IfaceEnv.extendNameCache)` || || +45.4% || 302448 || 439896 || ` (ghc-7.11.20150614:UniqSupply.takeUniqFromSupply)` || || +44.6% || 245336 || 354816 || ` (ghc-7.11.20150614:Name.mkExternalName)` || || +43.6% || 350440 || 503160 || ` (ghc-7.11.20150614:FastString.unpackFS)` || || +42.7% || 143104 || 204192 || `$wa2 (ghc-7.11.20150614:Encoding.)` || || +28.8% || 5168 || 6656 || `sat_sjzc (ghc-7.11.20150614:TcHsSyn)` || || +28.1% || 318552 || 407976 || ` (ghc-7.11.20150614:Unique.mkVarOccUnique)` || || +27.7% || 3984 || 5088 || ` (ghc-7.11.20150614:OccName.mkDataConWorkerOcc)` || || +27.6% || 283320 || 361520 || ` (ghc-7.11.20150614:FastString.mkFastStringByteString3)` || || +27.6% || 113328 || 144608 || `$wa (ghc-7.11.20150614:Encoding.)` || || +24.2% || 4560 || 5664 || ` (ghc-7.11.20150614:OccName.mkOccName)` || || +24.2% || 905968 || 1124928 || ` (ghc-7.11.20150614:TysWiredIn.isBuiltInOcc_maybe)` || || +23.5% || 605144 || 747376 || `$wa (ghc-7.11.20150614:FastString.)` || || +23.3% || 269056 || 331616 || `sat_s29W (ghc-7.11.20150614:UniqSupply)` || || +23.3% || 269056 || 331616 || `sat_s29V (ghc-7.11.20150614:UniqSupply)` || || +23.3% || 672640 || 829040 || `sat_s29U (ghc-7.11.20150614:UniqSupply)` || || +23.3% || 134528 || 165808 || `a5 (ghc-7.11.20150614:UniqSupply)` || || +22.8% || 3274992 || 4021296 || `$ccompare1 (ghc-7.11.20150614:Module)` || -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12357#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler