Improving GHC GC for latency-sensitive networked services
Christopher Allen
cma at bitemyapp.com
Mon Oct 17 17:08:01 UTC 2016
It'd be unfortunate if more companies trying out Haskell came to the
same result: https://blog.pusher.com/latency-working-set-ghc-gc-pick-two/#comment-2866985345
(They gave up and rewrote the service in Golang)
Most of the state of the art I'm aware of (such as from Azul Systems)
is from when I was using a JVM language, which isn't necessarily
applicable for GHC.
I understand Marlow's thread-local heaps experiment circa 7.2/7.4 was
abandoned because it penalized performance too much. Does the
impression that there isn't the labor to maintain two GCs still hold?
It seems like thread-local heaps would be pervasive.
Does anyone know what could be done in GHC itself to improve this
situation? Stop-the-world is pretty painful when the otherwise
excellent concurrency primitives are much of why you're using Haskell.
--- Chris Allen
More information about the ghc-devs
mailing list