Psycho x64, GIL

So why exactly is psycho not available for x64 architecture? Because it was meant to be incorporated into the pypy project…. Strange, since:

  1. pypy is twice as slow as cpyton is
  2. the main goal of the pypy project is not to provide a faster python implementation

Can anyone explain this to me? I’d really like to see some of the psycho improvements on my 64 bit machine.

Another thing – why the GIL? Is it on purpose to make some market room for jython with the native threads? Is there some other motivation behind that? Is it to force people to use processes (as the post and pythons 2.6 multiple processes model suggests). How are they better than threads? For me it seems that they do add more overhead of forking than threads ever do (I guess that is why they call them lightweigh processes). Is there some explanation for this phenomenon?

Advertisements

2 Responses to “Psycho x64, GIL”

  1. As much as I like the marketing for Jython :), I think it is merely a matter of history, technical trade-offs, and the sheer difficulty of changing the architecture of CPython. For more see this FAQ entry:
    http://www.python.org/doc/faq/library/#can-t-we-get-rid-of-the-global-interpreter-lock

    And a weblog post by Guido: http://www.artima.com/weblogs/viewpost.jsp?thread=214235

  2. Pypy is currently 1.4 ~ 2.0x slower, but they are improving its performance little by little (it used to be up to 2000x in its beginings). But this is the speed of pypy WITHOUT the just-in-time compiler. It is expected that once the JIT is complete, the performance will be “super fast” (in their own words).
    Regarding the main goal of the project, they say that speed is not the main one because they have many other goals as well, like flexibility, easy of development, etc, etc…
    Developing in c is by far more difficult than doing it in rpython (restricted python) and it is like a straightjacket for experimentation.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: