[pypy-dev] http://code.google.com/p/unladen-swallow/wiki/ProjectPlan

Christian Tismer tismer at stackless.com
Mon Mar 30 13:48:39 CEST 2009

On 3/30/09 1:28 AM, Paolo Giarrusso wrote:
> On Thu, Mar 26, 2009 at 02:42, Leonardo Santagada<santagada at gmail.com>  wrote:
>> On Mar 25, 2009, at 9:27 PM, Christian Tismer wrote:
>>> Hi friends,
>>> please have a look at this.
>>> http://code.google.com/p/unladen-swallow/wiki/ProjectPlan
>>> is this YAIPAP ?
>>> Yet Another Ignorant Python Acceleration Project
>>> I see them mentioning Hölzle and Self, and I see a reference to
>>> Psyco where they want to steal from, but PyPy does not exist.
>>> IMHO, this is totally GAGA  - chris
> First, I suggest you have a look at the FAQ - when I did, I discovered
> the developers are full-time Google engineers. Having said that, the
> Google V8 group does not seem to be involved, and that's quite stupid.
> However, I studied with Lars Bak and the base ideas he had are the
> same.

Interesting. Yes, I read the FAQ, but I don't know the people.

> Missing knowledge of PyPy is also stupid obviously, but I wonder why
> nobody proposed "hey, let's tell them"; fighting another project.
> They'd sure benefit, for instance, from CALL_METHOD and
> CALL_LIKELY_BUILTIN ideas (they mention among their purposes fixing
> the performance problems addressed by CALL_LIKELY_BUILTIN, that's why
> I mention these).

Well, we could have contacted them.
But (I'm speaking for myself) if they have decided to totally
ignore a project like PyPy, then I think it is for a reason.
Not knowing about PyPy means to close more than two eyes.
Therefore I see no point in approaching them.

> Also, they're already started with releasing. Have a look at their benchmarks:
> http://code.google.com/p/unladen-swallow/wiki/Releases
> Did you look at that because declaring it GAGA?

My first perception of the project was a bit distorted.
I saw this as an attempt to replace PyPy with something better,
and it seemed GAGA to me to do that ignoring prior work.

Now that I realize that the project has much smaller
goals, it becomes more realistic.

The Q1 goals are relatively doable without doubt. The current
achievements speedwise remind me of the anxient Python2C project.
It showed the typical acceleration by a factor of around 2, which
is what you can expect when eliminating the interpreter loop.

>> I was reading it earlier, the simpler ideas, like making pickle faster
>> and most of q1 deliverables seems nice, and could really help python
>> right now, but those seems more like the things Need For Speed sprint
>> was doing.

Yes, Need for Speed did small, doable things.

>> Not the LLVM-JIT, new GC, eliminate the GIL seems
>> unrealistic, even the pace of the project seems to be counting on tons
>> of new developers joining the project after the Q1 milestone.
> Well, the milestones seem crazy but they did achieve something notable
> in their Q1 deliverable, but most of the ideas seem correct.

Q1 is fine, but it does by no means give any proof that the next
milestones can be achieved.

> "Eliminate the GIL" is not hard by itself, the problem (IMHO, no hard
> numbers for that) is that it's impossible with refcounting (because of
> the cost of atomic refcount manipulation). The author of the old "free
> threading" patch mentioned only another problem, that is locking
> around name lookups in mutable name dictionaries (for looking up
> object members, globals, etc.), which can also be approached (and I
> think refcount manipulation is a bigger issue).

As I remember that patch, the overhead was around 40%, mostly because
of reference counting. I guess nobody actually goes this path,
because it is such a waste, compared to multiple processes, and doing
it "right" (where I'm referring to some Java achievements I heard of)
is pretty much of a total re-write of Python.

I'm pretty much wondering if the latter makes sense, given the
existence of PyPy.

cheers - chris

Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
       whom do you want to sponsor today?   http://www.stackless.com/

More information about the Pypy-dev mailing list