Subj : Re: Hazard Pointers w/o memory barrier. To : comp.programming.threads From : Joe Seigh Date : Thu May 05 2005 10:59 am On Wed, 04 May 2005 15:17:07 -0400, Joe Seigh wrote: >> >> > > It's a shock going back to Linux with its poor throughput > rate compared to OS X. And signals on Linux definitely > slow things down. So we can forget about a common > reference implementation. Platform specific implementations > are the way to go. > I dummied things up to simulate how it would run since I don't want to bother with the platform specific stuff for now. The testcase with the same paramters that I used on OS X. appc is atomic_ptr proxy collector. r/s/t w/s/t rcu+smr 498 498 old rcu 106 196 appc 5 247 rwlock 500 0 mutex 25 0 With no preemption at all in read loop. Write loop has a slight delay in both cases. rcu+smr 21268 111 old rcu 23051 480 appc 15234 497 mutex 15000 8 rwlock 14250 0 Max flat out rate for a single write thread using a mutex with no contention is 558000 w/s/t (writes/sec/thread). A hazard ptr load appears to be only 2x or so of a bare load which is effectively the same. Linux seems to have more problems due to it's screwed up scheduling. What you're seeing is more scheduling artifacts than anything else. -- Joe Seigh When you get lemons, you make lemonade. When you get hardware, you make software. .