[GHC] #15642: Improve the worst case performance of weak pointers
GHC
ghc-devs at haskell.org
Sun Sep 16 00:07:38 UTC 2018
#15642: Improve the worst case performance of weak pointers
-------------------------------------+-------------------------------------
Reporter: dfeuer | Owner: (none)
Type: feature request | Status: new
Priority: normal | Milestone: 8.8.1
Component: Runtime System | Version: 8.6.1-beta1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by dfeuer):
I realized two things today:
1. We don't have to tag the info pointer (or deal with the possibility
that it's tagged) in the mutator. We can instead tag all the pointers in
the table at the beginning of collection and untag as we go.
2. We should have enough bits, even for a large binary on a 32-bit system.
Why? Because even a huge binary won't have billions of info tables except
perhaps in a pathological case. So if we eventually need another bit, we
can impose 8-byte alignment for the tables.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15642#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list