[GHC] #14741: High-memory usage during compilation using Template Haskell

GHC ghc-devs at haskell.org
Tue Feb 6 19:21:55 UTC 2018


#14741: High-memory usage during compilation using Template Haskell
-------------------------------------+-------------------------------------
        Reporter:  donatello         |                Owner:  sighingnow
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.2.2
      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):  Phab:D4384
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Ben Gamari <ben@…>):

 In [changeset:"2987b041a3811b25bcee402ce6fdab80827dc90e/ghc" 2987b04/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="2987b041a3811b25bcee402ce6fdab80827dc90e"
 Improve X86CodeGen's pprASCII.

 The original implementation generates a list of SDoc then concatenates
 them using `hcat`. For memory optimization, we can transform the given
 literal string into escaped string the construct SDoc directly.

 This optimization will decreate the memory allocation when there's big
 literal strings in haskell code, see Trac #14741.

 Signed-off-by: HE, Tao <sighingnow at gmail.com>

 Reviewers: bgamari, mpickering, simonpj

 Reviewed By: simonpj

 Subscribers: simonpj, rwbarton, thomie, carter

 GHC Trac Issues: #14741

 Differential Revision: https://phabricator.haskell.org/D4384
 }}}

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


More information about the ghc-tickets mailing list