[Haskell-cafe] STM friendly TreeMap (or similar with range scan api) ? WAS: Best ways to achieve throughput, for large M:N ratio of STM threads, with hot TVar updates?

YueCompl compl.yue at icloud.com
Fri Jul 31 14:35:52 UTC 2020

Hi Ben,

Thanks as always for your great support! And at the moment I'm working on a minimum working example to reproduce the symptoms, I intend to work out a program depends only on libraries bundled with GHC, so it can be easily diagnosed without my complex env,  but so far no reprod yet. I'll come with some piece of code once it can reproduce something.

Thanks in advance.


> On 2020-07-31, at 21:36, Ben Gamari <ben at well-typed.com> wrote:
> Simon Peyton Jones via Haskell-Cafe <haskell-cafe at haskell.org> writes:
>>> Compl’s problem is (apparently) that execution becomes dominated by
>>> GC. That doesn’t sound like a constant-factor overhead from TVars, no
>>> matter how efficient (or otherwise) they are. It sounds more like a
>>> space leak to me; perhaps you need some strict evaluation or
>>> something.
>> My point is only: before re-engineering STM it would make sense to get
>> a much more detailed insight into what is actually happening, and
>> where the space and time is going. We have tools to do this (heap
>> profiling, Threadscope, …) but I know they need some skill and insight
>> to use well. But we don’t have nearly enough insight to draw
>> meaningful conclusions yet.
>> Maybe someone with experience of performance debugging might feel able
>> to help Compl?
> Compl,
> If you want to discuss the issue feel free to get in touch on IRC. I
> would be happy to help.
> It would be great if we had something of a decision tree for performance
> tuning of Haskell code in the users guide or Wiki. We have so many tools
> yet there isn't a comprehensive overview of
> 1. what factors might affect which runtime characteristics of your
>    program
> 2. which tools can be used to measure which factors
> 3. how these factors can be improved
> Cheers,
> - Ben
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

More information about the Haskell-Cafe mailing list