[GHC] #7674: Separate StablePtr table from StableName table.

GHC cvs-ghc at haskell.org
Fri Feb 8 17:13:15 CET 2013


#7674: Separate StablePtr table from StableName table.
-----------------------------+----------------------------------------------
Reporter:  EyalLotem         |          Owner:  EyalLotem                             
    Type:  task              |         Status:  patch                                 
Priority:  normal            |      Component:  Runtime System                        
 Version:  7.6.2             |       Keywords:  rts stable_ptr stable_name performance
      Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple                      
 Failure:  None/Unknown      |      Blockedby:                                        
Blocking:                    |        Related:                                        
-----------------------------+----------------------------------------------
Changes (by EyalLotem):

  * status:  new => patch


Comment:

 The benchmark is the small_hash_hs FFI binding to the small_hash library.
 They're at:

 https://github.com/Peaker/small_hash
 https://github.com/Peaker/small_hash_hs

 (To build the latter, you need to clone the former directly inside it).

 If you run small_hash_hs, it's runtime will be dominated by GC's, because
 of #7670. (~8 sec on my machine).

 However, if you set the min heap size to 200M (via "+RTS -H200M"), the run
 time becomes dominated by the stable ptr hash table/etc.  To run the
 benchmark on ordinary GHC, you need to use small_hash_hs's "unpatched_ghc"
 branch.

 Patches at: https://github.com/Peaker/ghc/commits/separate_stable_tables

 On my hardware:

                        Before patch   After patch
 Hash insertion time    2.4            0.8

 Total time             3.8            1.2

 Hash insertion time    2.9            1.2
 (-threaded)

 Total time             4.8            1.6
 (-threaded)

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



More information about the ghc-tickets mailing list