[pypy-svn] r52370 - pypy/extradoc/talk/pycon2008
fijal at codespeak.net
fijal at codespeak.net
Tue Mar 11 10:36:04 CET 2008
Author: fijal
Date: Tue Mar 11 10:35:58 2008
New Revision: 52370
Added:
pypy/extradoc/talk/pycon2008/status.txt (contents, props changed)
Log:
PyPy status talk (draft)
Added: pypy/extradoc/talk/pycon2008/status.txt
==============================================================================
--- (empty file)
+++ pypy/extradoc/talk/pycon2008/status.txt Tue Mar 11 10:35:58 2008
@@ -0,0 +1,162 @@
+
+==============
+Status of PyPy
+==============
+
+:Author: Maciej Fijalkowski, merlinux GmbH
+:Title: PyPy from the user perspective
+:Date: XXX
+
+Next half an hour
+=================
+
+* PyPy motivation and status
+
+* What we're working on
+
+* Few examples why it work
+
+* Where we're going
+
+* Why you should not use RPython
+
+* Implementation details available on sunday's evening
+
+PyPy - motivation
+=================================
+
+* CPython is nice, but not very flexible
+
+* IronPython, Jython - bound to specific VM
+
+* Separate language specification from low-level details,
+ such as gc or just in time compilation
+
+* Psyco hard to maintain
+
+PyPy - user motivation
+=======================
+
+* One shall never be forced to write anything in C
+ for performance reasons (with exception to embedded
+ devices etc.)
+
+* Just-in-time compiler should make number-crunching
+ and static-enough code fast enough
+
+* One shall never care about low-level details
+
+Status of PyPy
+==============
+
+* Very compliant language (to Python 2.4/2.5)
+
+* Some modules from stdlib missing, no 3rd party
+ modules at all
+
+* Recently - ctypes
+
+Status of PyPy backends
+=======================
+
+* We can compile to C and LLVM including threads (GIL),
+ stackless (but not both), different gcs and all modules
+
+* We can compile to CLI and JVM with reduced set of modules,
+ no threads
+
+* Some bindings to .NET for CLI, working on getting
+ Java libraries to JVM
+
+Status of speed in PyPy
+=======================
+
+* Hard to find decent python-only benchmarks in the wild
+
+* Pystone 1.5, Richards 1., gcbench 0.9 (compared to CPython 2.5)
+
+* Real world apps usually 1.5-2., sometimes as slow as 3x.
+
+Status of JIT in PyPy
+=====================
+
+* A lot of work has happened
+
+* Even more needs to happen
+
+* If your problem is similiar enough to counting fibonnaci numbers,
+ we're as fast as psyco
+
+* PyPy's JIT is way easier to extend (think PPC, think 64 bit,
+ think floats)
+
+RPython
+=======
+
+* The static subset of Python which we user for implementing
+ interpreter
+
+* Our compiler toolchain analyzes RPython (ie interpreter source code,
+ like C), not the user program
+
+* Our interpreter is normal Python interpreter
+
+* User has nothing to do with RPython
+
+RPython (2)
+===========
+
+* It's not a general purpose language
+
+* One has to have a very good reason to use it
+
+* Clunky error messages (XXX demo)
+
+* It's fast, helps us not to code in C
+
+* Ideally, JIT will achieve same level of speed
+
+RPython - language
+==================
+
+* Usually tons of metaprogramming
+
+* Like C++ - you can write books about tricks
+
+* Hard to extend
+
+XXX this slides needs to fit somewhere
+
+Example of useful feature - sanboxing
+=====================================
+
+XXX fill
+
+Example of useful feature - tproxy & distribution
+=================================================
+
+XXX fill
+
+PyPy - future
+=============
+
+* Making 3rd party modules run on PyPy - you can help,
+ notably by porting some to ctypes
+
+* Making different programs run on PyPy - you can help
+
+* We're thinking about providing different ways of getting
+ 3rd party modules
+
+PyPy - JIT future
+=================
+
+* A lot of work happening (demos on sunday)
+
+* Short term goal - support for floats, better assembler
+
+* More general Python programs seeing speedups
+
+* A lot of benchmarking and tweaking
+
+* Yes, you can help as well
More information about the Pypy-commit
mailing list