In article <[EMAIL PROTECTED]>, Jarek Zgoda <[EMAIL PROTECTED]> wrote: >Carl Friedrich Bolz napisa³(a): > >> Welcome to the PyPy 1.0 release - a milestone integrating the results >> of four years of research, engineering, management and sprinting >> efforts, concluding the 28 months phase of EU co-funding! > >So it took 4 yars of work and over 2 yaers of consumption of EU funds, >yeah, great. > >Could anybody explain, what this gives to Python and its users? Would >we, eventually, get GIL-free VM, that is capable to consume all >available power of multicore processors? Or, maybe, we'll get something >special, I am unable to dream of? Or is it purely academic project to >create Python VM in Python?
No, PyPy is not a purely academic project. It has been a practically oriented project from the very start. For the regular user of Python, the main benefit of PyPy is execution speed. With the Just-in-time optimizer, we have examples of functions doing integer math that are 63 times faster than CPython. Further work will broaden the scope of the optimizations to other language constructs. Bulding the framework for the JIT took a long time. Now that it is in place, extending the range of optimizations is a much smaller task. For the Python language developers, PyPy offers an easy environment for testing new ideas. Changes and alternative solutions can more quickly be implemented in Python than in C. For people who want to broaden the scope of Python, there is the option of using some of the models that the PyPy project has implemented, or roll their own. Constraints satisfaction, lazy evaluation, cooperative massive multitasking, security oriented environments, transparent distributed computing and persistence are examples of things the project have implemented. There are some very neat APIs so that you can easily add your own behaviour to the Python interpreter. For those who want to do Computer Science, PyPy offers a wonderful research platform. For instance, you can experiment with alternate or even multiple implementations of builtin types. You can build frontends for your favourite programming language and backends for your favourite platform. Since Javascript is a backend that we already handle fairly well, you can write your FORTRAN parser and have a FORTRAN to JS compiler. The neat thing is that once you build the parser, you should automatically have your code working on all the different backends. (This is a goal and not quite reality at this point in time. Bugs and shortcomings will still be in the way.) There is a tradeoff in computer language design between execution speed flexibility and ease of use. I personally think that PyPy is about to break out of the tradeoff and bring it to another level. I know that I am biased, having been involved with the project from the start, but I think that it is the most interesting work in CS in many years. Jacob Hallén --
-- http://mail.python.org/mailman/listinfo/python-list