Hi all, I am currently finishing up my master thesis. In it, I'd like to mention PyPy, but I think I need references to a couple of statements in order... well... not to lie :) So here it is: 1. PyPy is based on an approach first used in implementing Smalltalk-80 (the idea of implementing a dynamic language in its own subset, then statically analyzing and compiling the interpreter) 2. The main reason PyPy decided to implement GIL was for the c extensions to run unchanged. I obviously don't want you to do my job for me, but I searched a lot on this topic already, and any hint where to look further would be appreciated. cheers, Konrad
On 01/17/2011 12:30 PM, Konrad Delong wrote:
Hi all,
I am currently finishing up my master thesis. In it, I'd like to mention PyPy, but I think I need references to a couple of statements in order... well... not to lie :)
So here it is:
1. PyPy is based on an approach first used in implementing Smalltalk-80 (the idea of implementing a dynamic language in its own subset, then statically analyzing and compiling the interpreter)
Read this: http://portal.acm.org/citation.cfm?id=1176753 It has a discussion about the relation to Squeak at the end.
2. The main reason PyPy decided to implement GIL was for the c extensions to run unchanged.
There is no "official" reference for this. The reason why we have a GIL is because doing anything else is significantly harder, and would require a GC that works well with threads. This is a non-trivial task. In general, if you are looking for more "scientific" reference, look here: http://codespeak.net/pypy/dist/pypy/doc/extradoc.html There is also an article about to be published about the main JIT optimization here: http://codespeak.net/svn/pypy/extradoc/talk/pepm2011/bolz-allocation-removal... Cheers, Carl Friedrich
On Mon, Jan 17, 2011 at 12:30, Konrad Delong
Hi all,
I am currently finishing up my master thesis. In it, I'd like to mention PyPy, but I think I need references to a couple of statements in order... well... not to lie :)
So here it is:
1. PyPy is based on an approach first used in implementing Smalltalk-80 (the idea of implementing a dynamic language in its own subset, then statically analyzing and compiling the interpreter) 2. The main reason PyPy decided to implement GIL was for the c extensions to run unchanged. Beyond what Carl wrote, no C extension ran unchanged until the introduction of cpyext in 2010: http://morepypy.blogspot.com/2010/04/using-cpython-extension-modules-with.ht...
Bye -- Paolo Giarrusso - Ph.D. Student http://www.informatik.uni-marburg.de/~pgiarrusso/
participants (3)
-
Carl Friedrich Bolz
-
Konrad Delong
-
Paolo Giarrusso