

Ten years of PyPy - DasIch
http://morepypy.blogspot.de/2013/02/10-years-of-pypy.html

======
jamesjporter
I'm personally very excited about the prospects for NumPy in PyPy, as this is
my main use case for python. Relatedly, on the PyPy homepage, you can give
money to help grease the wheels on development of specific PyPy features:
<http://pypy.org/>. There's also quite detailed proposals that describe where
the money will go, how it will help each feature's development, why each
feature is useful/cool, etc. To me this seems like a really awesome way to
organize donations for an open source project and gives me greater confidence
that my donation will have an impact.

~~~
hyperbovine
I am excited too, but I also wonder how much faster it's really going to be.
Synthetic benchmarks are great, but I didn't see much of a speedup when I
switched to PyPy for some of my real-world code.

~~~
fijal
You should complain. There is a myriad of reasons why PyPy won't go very fast,
for example you're using C extensions. Usually what happens if you have code
where parts go insanely fast and parts go insanely slow. Once you identify it,
sometimes it is just replacing the library (like pgsql2 -> pgsql2cffi or so)
and stuff flies. But it all depends on your workload and the stack a lot. R&D
is typically needed to get good speedups. For most RW examples, 2-10x are to
be expected.

Shameless plug - if your stuff is not open source and you can't be bothered to
do the profiling yourself, there is typically an option to hire someone to do
it for you. Get in touch.

~~~
legutierr
Could you explain what you meant when you wrote:

> Another option we tried was using RPython to write CPython C extensions.
> Again, _it turned out RPython is a bad language_ and instead we made a fast
> JIT, so you don't have to write C extensions.

??

On the surface it would seem that using RPython would be a boon to authors of
C extensions, so this surprises me. It is also kind of shocking to hear the
authors of such a great project basically condemn the language that it was
written in (and really, the original raison d'etre of the project itself) as
"bad".

~~~
fijal
Whether RPython is a good or a bad language is a subjective fact and it should
not be related to the fact whether I wrote it or not right? It's good for what
it does (writing VMs), or at least better than writing them in C++ including
JIT by hand, but it's much worse than Python. Hence using it for a general
purpose project is a bad bad idea and you should use Python instead.

------
opminion
_To make it more likely to be accepted, the proposal for the EU project
contained basically every feature under the sun a language could have._

How common is this in EU projects?

~~~
ajuc
Very, at least in the education funding. There are courses (financed by EU, of
course) that teach you how to write proposals for EU projects, to make it seem
more in line with expectations of the "program" you want to finance your
project. They basically say "you have to put 'developing intelectual capital
among unemployed people in the countryside' there, that is more likely to get
you the money. You may do a few free courses for 50 people on whatever in that
building after it's finished, and it will be OK. And while your're at it buy
projector and laptop for that courses too, and put it in costs". And the
building is intended as library or sth, but to get money you add whatever you
can.

EU money on education are wasted so much. On the other hand infrastructural
funds are handled more or less OK.

~~~
haddr
guy working on several EU research projects here.

That's barely true. Although there is some certain amount of buzzwords in
every proposal (that's kind of bread an butter for tech people anyway), they
are far from what OP says. Sometimes there is some overpromising, but those
things are usually secondary aspects, rather than the core idea. Most of the
results are beeing used as some developed components by participating
companies, some of the work is dropped, and a lot of work is open sourced and
few projects are really successful. But that's research anyway. Not all work
lead to success here.

~~~
opminion
Perhaps it depends on the type of project?

I see two very different views here: one thing is to have technical jargon
that looks like buzzwords to the uninitiated, another is to have to include,
in the proposal, features that you won't implement so that the project is
accepted, as mentioned in the original post.

~~~
apendleton
I don't think that's it, so much as offering to implement, and actually
implementing (at least in a half-assed way) features that you don't actually
want, to make the proposal more attractive.

------
evilpie
I actually find it very impressive that they have a quite well working tracing
JIT. For Firefox we had TraceMonkey, but the code was hard to maintain and
hacked into the infrastructure. And it turned out that most stuff doesn't
trace very well in the real world. (not SunSpider, argg!) I haven't looked
very recently but I guess the pypy frontend for JavaScript is still not
actively maintained? I think I remember seeing some thesis about that
recently. Best of luck to them in the coming years!

------
bdr
Awesome. Is there somewhere they've documented the wisdom they've gained in
more detail? I'd love to hear more about the issues encountered with
JavaScript, ctypes, and LLVM, and lessons learned in general.

~~~
fijal
#pypy on freenode. LLVM, JS and ctypes are scattered around mailing list posts
as well (and blog posts).

------
throwaway54-762
This reminded me to make another donation towards py3k support =). Keep on
rocking on, pypy.

------
TheCondor
I recommend using it. It's a great platform. Well done guys

------
slurgfest
From the article: "the first usable PyPy was released in 2010." For most
practical purposes PyPy is only two years old, not ten.

~~~
chewxy
No. Before it was known as PyPy, PyPy was known as Psyco. I remembered playing
with it. In Pressyo's internal documentation there were many mentions of using
Psyco (we never actually ended up using it)

~~~
pangram
I think Psyco was a separate code base, and not an actual progenitor of PyPy.

~~~
chewxy
Ahhh... I see I was mistaken. Both are projects by Armin. I thought Psyco
became PyPy

------
pjmlp
Still hoping one day CPython gets replaced by PyPy as default Python
implementation.

Good work guys.

------
daemon13
According to PyPy site it can run Django.

Was it tested or anyone used it in production to run Dj 1.4? Dj 1.5?

