[GHC] #8900: unordered-containers 16% slower in HEAD vs 7.6.3

GHC ghc-devs at haskell.org
Sat Mar 15 21:19:30 UTC 2014


#8900: unordered-containers 16% slower in HEAD vs 7.6.3
--------------------------------------------+------------------------------
        Reporter:  tibbe                    |            Owner:
            Type:  bug                      |           Status:  new
        Priority:  normal                   |        Milestone:
       Component:  Compiler                 |          Version:  7.9
      Resolution:                           |         Keywords:
Operating System:  MacOS X                  |     Architecture:  x86_64
 Type of failure:  Runtime performance bug  |  (amd64)
       Test Case:                           |       Difficulty:  Unknown
        Blocking:                           |       Blocked By:
                                            |  Related Tickets:
--------------------------------------------+------------------------------

Comment (by tibbe):

 Here are the numbers with `-A2G`:

 7.6.3:
 {{{
 $ ./HashMapInsert +RTS -s -A2G
    1,191,223,528 bytes allocated in the heap
            3,400 bytes copied during GC
           36,080 bytes maximum residency (1 sample(s))
           13,072 bytes maximum slop
             2081 MB total memory in use (0 MB lost due to fragmentation)

                                     Tot time (elapsed)  Avg pause  Max
 pause
   Gen  0         0 colls,     0 par    0.00s    0.00s     0.0000s
 0.0000s
   Gen  1         1 colls,     0 par    0.01s    0.01s     0.0064s
 0.0064s

   INIT    time    0.01s  (  0.02s elapsed)
   MUT     time    0.58s  (  0.93s elapsed)
   GC      time    0.01s  (  0.01s elapsed)
   EXIT    time    0.01s  (  0.01s elapsed)
   Total   time    0.60s  (  0.96s elapsed)

   %GC     time       1.0%  (0.7% elapsed)

   Alloc rate    2,063,221,325 bytes per MUT second

   Productivity  97.6% of total user, 61.0% of total elapsed
 }}}

 HEAD:
 {{{
 $ ./HashMapInsert +RTS -s -A2G
    1,191,223,096 bytes allocated in the heap
            3,312 bytes copied during GC
           35,992 bytes maximum residency (1 sample(s))
           13,160 bytes maximum slop
             2081 MB total memory in use (0 MB lost due to fragmentation)

                                     Tot time (elapsed)  Avg pause  Max
 pause
   Gen  0         0 colls,     0 par    0.00s    0.00s     0.0000s
 0.0000s
   Gen  1         1 colls,     0 par    0.01s    0.02s     0.0158s
 0.0158s

   INIT    time    0.01s  (  0.02s elapsed)
   MUT     time    0.60s  (  0.93s elapsed)
   GC      time    0.01s  (  0.02s elapsed)
   EXIT    time    0.01s  (  0.02s elapsed)
   Total   time    0.62s  (  0.99s elapsed)

   %GC     time       1.0%  (1.6% elapsed)

   Alloc rate    1,998,679,702 bytes per MUT second

   Productivity  97.7% of total user, 61.3% of total elapsed
 }}}

 I'll accept Simon M's explanation of the difference. I'll leave the ticket
 open for the strictness analysis issue.

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


More information about the ghc-tickets mailing list