[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