[pypy-svn] r66790 - pypy/extradoc/talk/techtalk_dlr2009

cfbolz at codespeak.net cfbolz at codespeak.net
Wed Aug 12 13:17:40 CEST 2009


Author: cfbolz
Date: Wed Aug 12 13:17:39 2009
New Revision: 66790

Modified:
   pypy/extradoc/talk/techtalk_dlr2009/author.latex
   pypy/extradoc/talk/techtalk_dlr2009/talk.txt
Log:
talk as given


Modified: pypy/extradoc/talk/techtalk_dlr2009/author.latex
==============================================================================
--- pypy/extradoc/talk/techtalk_dlr2009/author.latex	(original)
+++ pypy/extradoc/talk/techtalk_dlr2009/author.latex	Wed Aug 12 13:17:39 2009
@@ -1,6 +1,6 @@
 \definecolor{rrblitbackground}{rgb}{0.0, 0.0, 0.0}
 
-\title[PyPy: A Flexible Virtual Machine for Python and Other Dynamic Languages]{PyPy: A Flexible VM for Python}
+\title[PyPy: A Flexible VM for Python]{PyPy: A Flexible Virtual Machine for Python and Other Dynamic Languages}
 \author[cfbolz]
 {Carl Friedrich Bolz}
 

Modified: pypy/extradoc/talk/techtalk_dlr2009/talk.txt
==============================================================================
--- pypy/extradoc/talk/techtalk_dlr2009/talk.txt	(original)
+++ pypy/extradoc/talk/techtalk_dlr2009/talk.txt	Wed Aug 12 13:17:39 2009
@@ -7,11 +7,12 @@
 What is PyPy
 ===================================
 
-- An alternate Python virtual machine for C/Posix,
-  for .NET and for Java
+- An alternate Python implementation
+  
+- running both in C/Posix, on top of .NET and the JVM
 
-- More generally, a way to implement interpreters
-  for various languages
+- More generally, an environment to implement interpreters for various
+  (dynamic) languages
 
 Talk Outline
 ===============
@@ -31,6 +32,8 @@
   - Most JavaScript VMs (V8, TraceMonkey, Squirrelfish)
   - but also: Scheme48, Squeak
 
+|pause|
+
 - Building on top of a general-purpose OO VM
 
   - Jython, IronPython
@@ -168,7 +171,7 @@
 Auto-generating VMs
 ===================
 
-- we need a custom \emph{translation toolchain} to compile the interpreter
+- we need a custom **translation toolchain** to compile the interpreter
   to a full VM
 - many aspects of the final VM are orthogonal from the interpreter source:
   they are inserted during translation
@@ -223,7 +226,7 @@
 ======================================
 
 - writing the translation toolchain in the first place takes lots of effort
-    (but it can be reused)
+  (but it can be reused)
 - writing a good GC is still necessary. The current one's are ok, but not great.
 - generating a dynamic compiler is hard (working on this since quite a while)
 
@@ -232,12 +235,13 @@
 =============================
 
 - 1.1 release
-- more than two years of work
+- more than two years of work over 1.0
 - compatible to Python 2.5.2 (even most the obscure bits)
 - supporting ctypes, SQLite
 - well tested on Win/Linux 32 bit (but OS X and 64 bit should work as well)
 - running major packages unmodified 
 - easy_install/distutils working 
+- runs on Nokia's Maemo devices
 
 Software PyPy Can Run
 ======================
@@ -245,7 +249,7 @@
 - Django
 - Pylons
 - Twisted & Nevow
-- pure python should just work 
+- pure Python should just work 
 - BitTorrent
 - PyPy translation toolchain
 - py lib 
@@ -255,7 +259,7 @@
 Obscure details that people rely on
 =======================================
 
-- non-string keys in __dict__ of types
+- non-string keys in ``__dict__`` of types
 - exact naming of a list comprehension variable
 - relying on untested and undocumented private stuff
 - exact message matching in exception catching
@@ -275,6 +279,15 @@
 
 - main blocker for running apps will be missing external modules
 
+Extra Features
+===============
+
+features that CPython doesn't have:
+
+ - stackless support, including pickling of threadlets
+ - lazy evaluation
+ - transparent proxies
+ - ...
 
 Speed
 ========
@@ -301,6 +314,7 @@
 Main ideas (1)
 ===============
 
+- tracing JIT compiler (like Mozilla's TraceMonkey)
 - 80/20 rule
 - 80% of the time is spent in 20% of the code
 - Optimize only that 20%
@@ -321,7 +335,7 @@
 - 20-30x faster on micro-benchmarks
 - nice proof of concept
 - completely separated from the interpreter
-- a bit of time (and funding) needed to speed up large python programs
+- a bit of time (and funding) needed to speed up large Python programs
 - hope to get a release with "a JIT" out beginning next year
   
 
@@ -332,11 +346,16 @@
 - Python implementation fairly complete, covers CPython 2.5 features
 - JIT generator is getting somewhere, slowly
 
+.. raw:: latex
 
-Contact / Q&A
+    \begin{figure}[h]
+    \scalebox{0.8}{\includegraphics[width=80px]{../img/py-web.png}}
+    \end{figure}
+
+Contact
 ==========================
 
-Carl Friedrich Bolz at Heinrich-Heine-Universität Düsseldorf
+Carl Friedrich Bolz at the Heinrich-Heine-Universität Düsseldorf: http://codespeak.net/~cfbolz
 
 PyPy: http://codespeak.net/pypy
 
@@ -347,3 +366,18 @@
     \begin{figure}[h]
     \scalebox{0.8}{\includegraphics[width=80px]{../img/py-web.png}}
     \end{figure}
+
+
+Questions?
+============
+
+- PyPy is a general environment to implement dynamic languages
+- Python implementation fairly complete, covers CPython 2.5 features
+- JIT generator is getting somewhere, slowly
+
+
+.. raw:: latex
+
+    \begin{figure}[h]
+    \scalebox{0.8}{\includegraphics[width=80px]{../img/py-web.png}}
+    \end{figure}



More information about the Pypy-commit mailing list