
#13344: Core string literal patch regresses compiler performance considerably -------------------------------------+------------------------------------- Reporter: bgamari | Owner: bgamari Type: bug | Status: new Priority: high | 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: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): Hmm, indeed ticky suggests that there is some leakage into interface files, {{{ | Change | alloc A | alloc B | name | |-----------|---------|---------|-------------------------------------------------------------------------------------------------| | +417944.0 | 3978840 | 4396784 | containers-0.5.7.1:Data.IntMap.Base.$winsert (:<no module>) | | +249216.0 | 1225560 | 1474776 | $wgo (ghc:BinIface) | | +166144.0 | 821968 | 988112 | go7 (ghc:LoadIface) | | +131256.0 | 1767520 | 1898776 | ghc:Module.$sinsertWith_$s$sgo10 (:<no module>) | | +75680.0 | 566080 | 641760 | mk_supply (ghc:UniqSupply) | | +68208.0 | 454152 | 522360 | unsafeDupableInterleaveIO1 (base:GHC.IO.Unsafe) | | +62016.0 | 1209552 | 1271568 | containers-0.5.7.1:Data.Map.Base.balanceL (:<no module>) | | +52864.0 | 1592272 | 1645136 | ghc:IfaceType.$w$cget6 (:<no module>) | | +45312.0 | 744224 | 789536 | ghc:Binary.$w$cget3 (:<no module>) | | +45312.0 | 226728 | 272040 | ghc:IfaceSyn.$w$cget1 (:<no module>) | | +45312.0 | 238080 | 283392 | ghc:TcRnMonad.$wforkM_maybe (:<no module>) | | +44776.0 | 934504 | 979280 | ghc:FastString.$wmkFastStringWith (:<no module>) | | +31360.0 | 340240 | 371600 | go (base:Data.OldList) | | +30208.0 | 156096 | 186304 | ghc:Module.$WDefiniteUnitId (:<no module>) | | +30208.0 | 156096 | 186304 | ghc:Module.$w$cget2 (:<no module>) | | +29008.0 | 1155896 | 1184904 | base:GHC.Base.++ (:<no module>) | | +27976.0 | 39000 | 66976 | ghc:TysWiredIn.$wisBuiltInOcc_maybe (:<no module>) | | +26432.0 | 130984 | 157416 | $wlvl12 (ghc:HscTypes) | | +26432.0 | 202496 | 228928 | bytestring-0.10.8.1:Data.ByteString.$wcopy (:<no module>) | | +26432.0 | 355440 | 381872 | ghc:NameCache.extendNameCache1 (:<no module>) | | +22768.0 | 71896 | 94664 | lexToken (ghc:Lexer) | | +22656.0 | 137472 | 160128 | ghc:Binary.$w$cget1 (:<no module>) | | +22656.0 | 107040 | 129696 | ghc:Binary.$wlazyGet (:<no module>) | | +22656.0 | 333696 | 356352 | ghc:FastString.$wmkFastStringByteString (:<no module>) | | +20544.0 | 0 | 20544 | ghc:TcRnMonad.emitInsoluble3 (:<no module>) | }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13344#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler