diff options
author | Sven Tennie <sven.tennie@gmail.com> | 2021-05-13 15:26:32 +0200 |
---|---|---|
committer | Sven Tennie <sven.tennie@gmail.com> | 2021-08-11 10:54:39 +0200 |
commit | ce2046fc61fffa9deb2b1240eee66f182572ed48 (patch) | |
tree | c9ac086d67f087dd35854707fd6252438445eb05 /rts/RtsSymbols.c | |
parent | 8b9acc4d58f51dcbae73c8226ef876218809fd79 (diff) | |
download | haskell-wip/IPE_hashmap.tar.gz |
Optimize Info Table Provenance Entries (IPEs) Map creation and lookupwip/IPE_hashmap
Using a hash map reduces the complexity of lookupIPE(), making it non linear.
On registration each IPE list is added to a temporary IPE lists buffer, reducing
registration time. The hash map is built lazily on first lookup.
IPE event output to stderr is added with tests.
For details, please see
Note [The Info Table Provenance Entry (IPE) Map].
A performance test for IPE registration and lookup can be found here:
https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5724#note_370806
Diffstat (limited to 'rts/RtsSymbols.c')
-rw-r--r-- | rts/RtsSymbols.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c index 0632dfa6df..b17d017c31 100644 --- a/rts/RtsSymbols.c +++ b/rts/RtsSymbols.c @@ -536,7 +536,6 @@ #define RTS_PROF_SYMBOLS \ SymI_HasProto(CCS_DONT_CARE) \ SymI_HasProto(CC_LIST) \ - SymI_HasProto(IPE_LIST) \ SymI_HasProto(stg_restore_cccs_info) \ SymI_HasProto(enterFunCCS) \ SymI_HasProto(pushCostCentre) \ |