what's the point of rpython?

Ross Ridge rridge at csclub.uwaterloo.ca
Tue Jan 20 15:19:39 EST 2009


Carl Banks  <pavlovevidence at gmail.com> wrote:
>I just looked at the boost documentation, which claims that multiple
>asynchronous writes to the same shared_ptr results in undefined
>behavior.  That will not suffice for Python reference counting.

If you read the Boost documentation you'll see that while multiple
simulaneous writes to a shared_ptr *instance* isn't supported, multiple
simulataneous updates of the reference counter used by the shared_ptr
implementaiton is supported.  Example #1 in the URL that Paul Rubin
gave demonstrates this.  The allowed simulanteous assignment of the two
shared_ptr instances "p2" and "p3" from the same shared_ptr instance
"p", requires that a single reference count be incremented simultenously.

On the other hand, the documentation also notes that the implementation
is only lock free on x86, IA-64, and PowerPC systems, though I think it
would also be possible on MIPS CPUs.

				Ross Ridge

-- 
 l/  //	  Ross Ridge -- The Great HTMU
[oo][oo]  rridge at csclub.uwaterloo.ca
-()-/()/  http://www.csclub.uwaterloo.ca/~rridge/ 
 db  //	  



More information about the Python-list mailing list