Adam Olsen wrote:
4) Myabe allow to speed my code up (JIT), or make Python as fast as possible. But this is rather a long term goal. Generally, I don't see why my code written in C and the same code written in Python, not using much dynamic features, couldn't be the same fast. (Of course I understand why now it is slower, Python is interpreted, etc. But I mean in principle. Python can have as much information about my code as the C compiler.) I use Python for devising new numerical algorithms, and than I need to rewrite them by hand to fortran for speed. It's a pain.
6) Allow efficient threading? CPython has the GIL (for good technological reasons). Generally pypy can improve how to do things in parallel in python. Currently, one needs to use pympi, pypar, or something.
These two together are, in my mind, where PyPy can really shine. Performance on par with CPython is critical to be taken seriously, but CPython's difficulties with the GIL mean I can only make it scalable at about 60% to 65% of the traditional efficiency (on pystones at least). That gap gives PyPy enough room to surpass CPython on scalable performance.
We are confident that we can surpass CPython's speed with the help of the JIT. As for free threading, the big prerequisite for that is a GC that plays well with threads. Boehm is not very good in this respect. After this is done we can think about how to insert locking operations in an automatic way to reduce the likelyhood of errors (this is currently already done for releasing the GIL around external function calls). Then there will probably be a huge amount of painful debugging :-) Cheers, Carl Friedrich