[GHC] #10370: Compile time regression in OpenGLRaw

GHC ghc-devs at haskell.org
Fri May 22 14:14:31 UTC 2015


#10370: Compile time regression in OpenGLRaw
-------------------------------------+-------------------------------------
        Reporter:  michalt           |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.10.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 Revisions:
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"c89bd681d34d3339771ebdde8aa468b1d9ab042b/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="c89bd681d34d3339771ebdde8aa468b1d9ab042b"
 Fix quadratic behaviour in tidyOccName

 In the test program from comment:3 of Trac #10370, it turned out
 that 25% of all compile time was going in OccName.tidyOccName!

 It was all becuase the algorithm for finding an unused OccName
 had a quadratic case.

 This patch fixes it.  THe effect is pretty big:

 Before:
         total time  =       34.30 secs   (34295 ticks @ 1000 us, 1
 processor)
         total alloc = 15,496,011,168 bytes  (excludes profiling overheads)

 After
         total time  =       25.41 secs   (25415 ticks @ 1000 us, 1
 processor)
         total alloc = 11,812,744,816 bytes  (excludes profiling overheads)
 }}}

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


More information about the ghc-tickets mailing list