On 9/17/07, Carl Friedrich Bolz <[EMAIL PROTECTED]> wrote: > 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 :-)
I'm confident CPython will provide a language-level solution to locking. This does mean waiting over a year from this point though. -- Adam Olsen, aka Rhamphoryncus _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
