Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <vho4gs$pd3i$1@dont-email.me>
Deutsch   English   Français   Italiano  
<vho4gs$pd3i$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder2.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jseigh <jseigh_es00@xemaps.com>
Newsgroups: comp.lang.c++
Subject: Re: smrproxy v2
Date: Thu, 21 Nov 2024 15:17:32 -0500
Organization: A noiseless patient Spider
Lines: 35
Message-ID: <vho4gs$pd3i$1@dont-email.me>
References: <vequrc$2o7qc$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 21 Nov 2024 21:17:33 +0100 (CET)
Injection-Info: dont-email.me; posting-host="1abdcfa001f8a13214f5f3a91c770945";
	logging-data="832626"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19SEl3N25Xp1+WrG7wSQpWi"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:aZjSGs4GTgLKKFquVE3npUT5fHI=
In-Reply-To: <vequrc$2o7qc$1@dont-email.me>
Content-Language: en-US
Bytes: 2281

On 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.

Joe Seigh