[GHC] #10470: Allocating StablePtrs leads to GC slowdown even after they're freed

GHC ghc-devs at haskell.org
Mon Jun 1 17:20:37 UTC 2015


#10470: Allocating StablePtrs leads to GC slowdown even after they're freed
-------------------------------------+-------------------------------------
        Reporter:  bitonic           |                   Owner:  simonmar
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Runtime System    |                 Version:  7.10.1
      Resolution:                    |                Keywords:
Operating System:  Unknown/Multiple  |            Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:                    |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by ezyang):

 We can't fix this by trying to resize `stable_ptr_table`, however, because
 if we have a used stable pointer at location 0 and a used stable pointer
 at location n, we can't resize smaller than n. (We might be able to if we
 used a hash table, but that would hurt read performance.) So really we
 need to be more clever about how we traverse the static pointer table,
 maybe by linking live entries together or something more clever.

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


More information about the ghc-tickets mailing list