<br><br><div class="gmail_quote">2009/10/26 Nick Coghlan <span dir="ltr"><<a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Michael Foord wrote:<br>
> If (for example) Unladen Swallow were to (eventually) be successful in<br>
> removing the GIL and moved away from reference counting then it would be<br>
> possible to retain binary API (ABI) compatibility with extensions<br>
> written for 'standard' CPython.<br>
><br>
> The GIL is simply faked. IronPython code is not restricted by the GIL<br>
> but only one code path into Ironclad can acquire the GIL at a time.<br>
><br>
> For reference counting we have a hybrid system keeping 'bridge' objects<br>
> alive whilst the C extension has a reference to them but they may or may<br>
> not be in use from the IronPython side.<br>
<br>
</div>Something I've long been curious about (but never even come close to<br>
having the time to research) is the idea of using CPython extensions<br>
with PyPy. It sounds like that would involve an effort in a similar vein<br>
to porting Ironclad to Jython (i.e. porting the back end to PyPy instead).<br>
<br></blockquote><div><br>Porting the Ironclad core to RPython using the PyPy FFI would presumably be possible.<br><br>Last time I spoke to the PyPy devs about it they said they had a different approach in mind that would give them source compatibility but not binary compatibility. I guess reinventing the wheel is the core motivation of PyPy so I guess they can be forgiven. ;-)<br>
<br>Michael<br><br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Cheers,<br>
Nick.<br>
<font color="#888888"><br>
--<br>
Nick Coghlan   |   <a href="mailto:ncoghlan@gmail.com">ncoghlan@gmail.com</a>   |   Brisbane, Australia<br>
---------------------------------------------------------------<br>
</font></blockquote></div><br><br clear="all"><br>-- <br><a href="http://www.ironpythoninaction.com/">http://www.ironpythoninaction.com/</a><br><br><br>