[pypy-svn] r61231 - pypy/extradoc/talk/wroclaw2009
fijal at codespeak.net
fijal at codespeak.net
Thu Jan 22 14:15:54 CET 2009
Author: fijal
Date: Thu Jan 22 14:15:50 2009
New Revision: 61231
Modified:
pypy/extradoc/talk/wroclaw2009/talk.txt
Log:
update
Modified: pypy/extradoc/talk/wroclaw2009/talk.txt
==============================================================================
--- pypy/extradoc/talk/wroclaw2009/talk.txt (original)
+++ pypy/extradoc/talk/wroclaw2009/talk.txt Thu Jan 22 14:15:50 2009
@@ -99,19 +99,6 @@
.. image:: architecture2.png
:scale: 60
-An example of benefit
-=====================
-
-* Python has complicated semantics
-
-* Python guarantees that it won't segfault on
- a stack exhaustion
-
-* CPython includes some stack checks in the source, but they
- don't catch every case
-
-* We include it automatically so all cases are guaranteed to be covered
-
PyPy - implementation language
==============================
@@ -121,13 +108,31 @@
* static enough to compile to efficient code
+* static enough to be able to analyze it
+
* not necessarily a nice language
* ... but better than C
+An example of benefit
+=====================
+
+* Python has complicated semantics
+
+* Python guarantees that it won't segfault on
+ a stack exhaustion
+
+* CPython includes some stack checks in the source, but they
+ don't catch every case
+
+* We include it automatically so all cases are guaranteed to be covered
+
PyPy - why so complex?
=======================
+* interpreter is just a relatively small piece
+ of code
+
* because we control translation toolchain,
we can have work done for us
@@ -159,7 +164,7 @@
* very easy to write new ones
-JIT - idea
+JIT - why?
==========
* dynamic compilation is a way to go for dynamic
@@ -205,6 +210,22 @@
instead of doing that on python's source
code
+JIT - a zoom into tracing
+=========================
+
+* first, hot spot is found
+
+* then, it's traced by a jit to find out
+ what operations really occured
+
+* a loop is closed by a jump back
+
+* assembler code from list of operations
+ performed is generated
+
+* there are insterted guards, which check
+ for branches
+
Project future
==============
More information about the Pypy-commit
mailing list