[pypy-svn] r61221 - pypy/extradoc/talk/wroclaw2009

fijal at codespeak.net fijal at codespeak.net
Thu Jan 22 11:16:28 CET 2009


Author: fijal
Date: Thu Jan 22 11:16:25 2009
New Revision: 61221

Modified:
   pypy/extradoc/talk/wroclaw2009/talk.pdf
   pypy/extradoc/talk/wroclaw2009/talk.txt
Log:
more progress


Modified: pypy/extradoc/talk/wroclaw2009/talk.pdf
==============================================================================
Binary files. No diff available.

Modified: pypy/extradoc/talk/wroclaw2009/talk.txt
==============================================================================
--- pypy/extradoc/talk/wroclaw2009/talk.txt	(original)
+++ pypy/extradoc/talk/wroclaw2009/talk.txt	Thu Jan 22 11:16:25 2009
@@ -93,6 +93,12 @@
 .. image:: architecture.png
    :scale: 60
 
+PyPy - high level architecture (2)
+==================================
+
+.. image:: architecture2.png
+   :scale: 60
+
 PyPy - implementation language
 ==============================
 
@@ -106,3 +112,77 @@
 
 * ... but better than C
 
+PyPy - why so complex?
+=======================
+
+* because we control translation toolchain,
+  we can have work done for us
+
+* nice example - garbage collection
+
+* hopefully even nicer example - JIT
+
+Python interpreter status
+=========================
+
+* almost as fast as CPython (from 0.8x to 4x slower)
+
+* it's 99% compatible with CPython
+
+* comes with majority of CPython's stdlib (including ctypes)
+
+PyPy - garbage collection
+=========================
+
+* written in RPython
+
+* completely separated from interpreter
+
+* nicely testable on top of Python
+
+* faster than CPython ones
+
+* very easy to write new ones
+
+JIT - idea
+==========
+
+* dynamic compilation is a way to go for dynamic
+  languages
+
+* examples: psyco, strongtalk, modern JavaScript engines
+
+* python is a very complex language, far more complex
+  than JavaScript
+
+* hence, JIT generator is required!
+
+JIT - status
+============
+
+* 4th generation of JIT in PyPy
+
+* 1st generation was able to speed up examples
+  up to 60x (same as psyco)
+
+* not ready yet
+
+* based on tracing JIT by Michael Franz
+  (the same paper as tracemonkey is based on)
+
+JIT - the main idea
+===================
+
+* we find hotspot loops, which are executed
+  often enough
+
+* we "trace" those loops and produce machine code
+
+* next time we enter the loop, we execute fast
+  machine code
+
+* we do this on interpreter source level,
+  instead of doing that on python's source
+  code
+
+



More information about the Pypy-commit mailing list