[M3devel] userthreads vs. pthreads performance?

Jay K jay.krell at cornell.edu
Tue Mar 30 08:37:40 CEST 2010


> The only requirement for M3 was that we have proper support for

> atomic ops in the language upon which to build the synchronisation

> primitives. We are close to having this now.

 

 

Or surely implement them in C..

Anyway, I believe m3back now (a few weeks) has parity with or exceeds the gcc backend.

 Depending on interpretation.

 

 

 The gcc backend only accepts some memory orders.

 

 

 m3back accepts them all and interprets them all as sequential.

 

 

I have more testing and optimization to do, but I think it is all there

and probably works. Optimization in particular is that add/sub/xor

don't need to use compare/exchange/retry loops.

 

 

And load/store could certainly be more efficient such as just

using one exchange to do a store, instead of a fence on either side.

 

 

I think it is also probably reasonable to defined variants that

don't return the new value. That way or and and can be provided

more efficiently -- without a compare/exchange/retry loop.

 

 

 - Jay
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100330/ce743a33/attachment-0002.html>


More information about the M3devel mailing list