Liste des Groupes | Revenir à cl c++ |
On 11/23/24 11:10, jseigh wrote:I remember back in the day when I was comparing and contrasting various lock/wait-free algorithms with their 100% lock-based counter parts. Some of the lock-based tests too so long that I just terminated the damn program. Iirc, a lock-free test would take around 5 minutes. The lock-based test would be around 30+ minutes. This was way back on c.p.t.On 11/21/24 15:17, jseigh wrote:I've been using cpu time to measure performance. That's okOn 10/17/24 08:10, jseigh wrote:>I replaced the hazard pointer logic in smrproxy. It's now wait-free>
instead of mostly wait-free. The reader lock logic after loading
the address of the reader lock object into a register is now 2
instructions a load followed by a store. The unlock is same
as before, just a store.
>
It's way faster now.
>
It's on the feature/003 branch as a POC. I'm working on porting
it to c++ and don't want to waste any more time on c version.
>
No idea of it's a new algorithm. I suspect that since I use
the term epoch that it will be claimed that it's ebr, epoch
based reclamation, and that all ebr algorithms are equivalent.
Though I suppose you could argue it's qsbr if I point out what
the quiescent states are.
>
I got a port to c++ working now. There are 5 proxy implementations
1) smrproxy v2
2) arcproxy - reference counted proxy
3) rwlock based proxy
4) mutex based proxy
5) an unsafe proxy with no locking
>
The testcase is templated so you can use any of the
5 proxy implementations without rewriting for each proxy
type. You can do apple to apple comparisons. I
realize that's the complete antithesis of current
programming practices but there you have it. :)
>
A bit of clean up and performance tuning now.
>
Ok, smrproxy lock/unlock is down to 0.6 nanoseconds now,
about what the C version was.
>
for lock-free/wait-free locking. For normal mutexes and
shared locks, it doesn't measure wait time so those didn't
look as bad as they really were. You can add logic
to measure how long it takes to acquire a lock but that
adds significant overhead.
Date | Sujet | # | Auteur | |
17 Oct 24 | smrproxy v2 | 66 | jseigh | |
17 Oct 24 | Re: smrproxy v2 | 41 | Chris M. Thomasson | |
17 Oct 24 | Re: smrproxy v2 | 40 | jseigh | |
18 Oct 24 | Re: smrproxy v2 | 39 | Chris M. Thomasson | |
18 Oct 24 | Re: smrproxy v2 | 2 | Chris M. Thomasson | |
18 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
18 Oct 24 | Re: smrproxy v2 | 36 | jseigh | |
26 Oct 24 | Re: smrproxy v2 | 35 | Chris M. Thomasson | |
26 Oct 24 | Re: smrproxy v2 | 34 | jseigh | |
27 Oct 24 | Re: smrproxy v2 | 33 | Chris M. Thomasson | |
28 Oct 24 | Re: smrproxy v2 | 32 | jseigh | |
28 Oct 24 | Re: smrproxy v2 | 28 | Chris M. Thomasson | |
28 Oct 24 | Re: smrproxy v2 | 27 | jseigh | |
28 Oct 24 | Re: smrproxy v2 | 26 | Chris M. Thomasson | |
28 Oct 24 | Re: smrproxy v2 | 25 | jseigh | |
28 Oct 24 | Re: smrproxy v2 | 24 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 22 | jseigh | |
29 Oct 24 | Re: smrproxy v2 | 3 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 2 | jseigh | |
29 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 5 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 4 | jseigh | |
29 Oct 24 | Re: smrproxy v2 | 3 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 2 | jseigh | |
1 Nov 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 13 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 12 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 11 | jseigh | |
4 Nov 24 | Re: smrproxy v2 | 10 | Chris M. Thomasson | |
4 Nov 24 | Re: smrproxy v2 | 9 | jseigh | |
4 Nov 24 | Re: smrproxy v2 | 3 | Muttley | |
4 Nov 24 | Re: smrproxy v2 | 2 | Chris M. Thomasson | |
9 Nov 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
12 Dec 24 | Re: smrproxy v2 | 5 | Chris M. Thomasson | |
12 Dec 24 | Re: smrproxy v2 | 4 | jseigh | |
12 Dec 24 | Re: smrproxy v2 | 3 | Chris M. Thomasson | |
13 Dec 24 | Re: smrproxy v2 | 2 | jseigh | |
26 Dec 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
28 Oct 24 | Re: smrproxy v2 | 3 | Chris M. Thomasson | |
28 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
28 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
29 Oct 24 | Re: smrproxy v2 | 4 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 2 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 2 | Chris M. Thomasson | |
30 Oct 24 | Re: smrproxy v2 | 1 | jseigh | |
2 Nov 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
21 Nov 24 | Re: smrproxy v2 | 17 | jseigh | |
23 Nov 24 | Re: smrproxy v2 | 16 | jseigh | |
23 Nov 24 | Re: smrproxy v2 | 3 | Chris M. Thomasson | |
24 Nov 24 | Re: smrproxy v2 | 2 | jseigh | |
24 Nov 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
24 Nov 24 | Re: smrproxy v2 | 12 | jseigh | |
25 Nov 24 | Re: smrproxy v2 | 7 | Chris M. Thomasson | |
25 Nov 24 | Re: smrproxy v2 | 6 | jseigh | |
25 Nov 24 | Re: smrproxy v2 | 2 | Chris M. Thomasson | |
25 Nov 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
25 Nov 24 | Re: smrproxy v2 | 3 | Chris M. Thomasson | |
25 Nov 24 | Re: smrproxy v2 | 2 | jseigh | |
26 Nov 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson | |
27 Nov 24 | Re: smrproxy v2 | 4 | jseigh | |
9 Dec 24 | Re: smrproxy v2 | 3 | jseigh | |
11 Dec 24 | Re: smrproxy v2 | 2 | jseigh | |
12 Dec 24 | Re: smrproxy v2 | 1 | Chris M. Thomasson |
Les messages affichés proviennent d'usenet.