[pypy-dev] pypy with sympy
rhamph at gmail.com
Mon Sep 17 19:39:23 CEST 2007
On 9/17/07, Carl Friedrich Bolz <cfbolz at gmx.de> 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
More information about the Pypy-dev