Hey Carl,

Carl Friedrich Bolz wrote:

> I thought I would start a new thread for discussing what PyPy needs to
> become "production ready" (whatever that is) and succeed as a Python
> implementation. This is something were outside opinions are very welcome
> (of course there is no guarantee we can implement all of your wishes :-)
> ).

Thanks for starting this discussion. Happy to see it!

> Obvious problems are:
>   - some missing extension modules of the stdlib. no clue which of them
>     are really important, depends on the application you want to run, I
>     guess. This can be worked on by outsiders.
> 
>   - lack of 3rd-party extension-module support. This is hard to change.
>     Once we implement ctypes the problem will be mitigated, but not
>     solved: it's no fun at all to wrap a large C++ library with ctypes,
>     and there are lot's of existing non-ctypes based modules out there.

Yes, this one would be a major challenge. If you can crack it and the 
PyPy interpreter offers another benefit (an obvious one is speed), you 
will be in awesome position. If not, the other benefits will have to 
weigh more strongly. This is definitely one to evolve slowly over time 
if it's possible at all.

>   - Speed. The JIT is still not in a state where it really speeds up
>     arbitrary Python code. I expect this to change sooner or later.
>     However, it's not an area were a lot of people can help.
> 
>   - for PyPy-JVM: bindings to allow the interaction with arbitrary Java
>     libraries, threading support

Does this already exist for PyPy-CLR?

- An easy starting point. I'd say one other important point is to have 
an easy starting point. I.e. Joe Random Hacker can install the PyPy 
interpreter and get started without a lot of hassle. Of course if the 
benefits outweigh the installation hassle people will still install it, 
but you'll limit your audience. It's not that hard now of course: 
creating new interpreters is just a matter of waiting a long time. I 
also heard you were working on an online PyPy build system, but I'm not 
sure what the status of this is. Still, things like Windows installers 
and inclusion in Linux distributions (or at least making packages 
available for them) will eventually be of great value.

Generally, for any version of PyPy, there are questions like stability 
and memory usage.

- Stability. Stability is obvious: we'll find out a lot more on how 
stable things are once production-use ramps up. I suspect PyPy is a in a 
good position due to the way interpreters are generated.

- Memory usage. Memory usage is related to performance. If a PyPy 
interpreter is faster than CPython but uses up vasts amounts of memory 
(especially if it seems to leak), that'll be a problem. I know there's a 
lot of work being done on garbage collection. I don't really know what 
the expected outcome is here. :)

- Release management. Don't underestimate the matter of release 
management. I like my foundational software to have a pattern of regular 
releases, and I think many other developers share this with me. I can't 
do production development on some SVN trunk. I need the foundation to be 
stable and unchanging, unless I explicitly change it. If there are major 
bugs, I'd expect a quick bugfix release. Doing a proper release can be 
quite a bit of effort, and needs people that feel responsible to do this 
rather frustrating and boring work. The CPython project does this well.

Regards,

Martijn

_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to