Sujet : Re: Futexes ain't fast
De : chris.m.thomasson.1 (at) *nospam* gmail.com (Chris M. Thomasson)
Groupes : comp.lang.c++Date : 02. Sep 2024, 19:56:24
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vb51oo$2v0pc$3@dont-email.me>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
On 8/30/2024 5:36 PM, jseigh wrote:
On 8/30/24 15:45, Chris M. Thomasson wrote:
On 8/30/2024 6:31 AM, jseigh wrote:
...
>
They don't have to be fast, they just have to allow correct synchronization
and allow performant fast paths. Can the api be improved for the latter?
Certainly yes. It is an awkward api to use.
>
100% agreed. Eventcounts are in the mix as well.
>
You might take a look at folly's eventcount. It (I think) only calls
futex wake if there are waiters, and only calls futex_wait if the
eventcount hasn't been incremented. I did my own C version since I'm
working in C for now.
I need to look at it. Have been really busy lately. I think you said that eventcounts can be a little "too" lock-free? ;^)