[pypy-svn] r65905 - pypy/extradoc/talk/ep2009/status

arigo at codespeak.net arigo at codespeak.net
Wed Jun 24 13:28:14 CEST 2009


Author: arigo
Date: Wed Jun 24 13:28:13 2009
New Revision: 65905

Added:
   pypy/extradoc/talk/ep2009/status/
      - copied from r65782, pypy/extradoc/talk/pycon2009/status/
   pypy/extradoc/talk/ep2009/status/800px-N810-open.jpg   (contents, props changed)
   pypy/extradoc/talk/ep2009/status/sandbox1.png
      - copied unchanged from r65782, pypy/extradoc/talk/pycon2009/pypy-sandbox/sandbox1.png
   pypy/extradoc/talk/ep2009/status/winform.png   (contents, props changed)
Removed:
   pypy/extradoc/talk/ep2009/status/merlinux-logo.jpg
Modified:
   pypy/extradoc/talk/ep2009/status/author.latex
   pypy/extradoc/talk/ep2009/status/status.pdf
   pypy/extradoc/talk/ep2009/status/status.txt
   pypy/extradoc/talk/ep2009/status/title.latex
Log:
Slides for the first half of the EP2009 talk.


Added: pypy/extradoc/talk/ep2009/status/800px-N810-open.jpg
==============================================================================
Binary file. No diff available.

Modified: pypy/extradoc/talk/ep2009/status/author.latex
==============================================================================
--- pypy/extradoc/talk/pycon2009/status/author.latex	(original)
+++ pypy/extradoc/talk/ep2009/status/author.latex	Wed Jun 24 13:28:13 2009
@@ -1,8 +1,8 @@
 \definecolor{rrblitbackground}{rgb}{0.0, 0.0, 0.0}
 
 \title[PyPy status talk]{PyPy status talk}
-\author[H. Krekel, M. Fijalkowski]{Holger Krekel \and Maciej Fijalkowski\\
-Merlinux GmbH}
+\author[antocuni, pedronis, arigo]
+{Samuele Pedroni\\ Armin Rigo\\ Antonio Cuni}
 
-\institute[PyCon 2009]{PyCon 2009 - Rosemont}
-\date{March 28 2009}
+\institute{EuroPython 2009}
+\date{June 30 2009}

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

Modified: pypy/extradoc/talk/ep2009/status/status.txt
==============================================================================
--- pypy/extradoc/talk/pycon2009/status/status.txt	(original)
+++ pypy/extradoc/talk/ep2009/status/status.txt	Wed Jun 24 13:28:13 2009
@@ -2,28 +2,30 @@
 PyPy's Python Interpreter status 
 ================================
 
-What this talk is about
-=======================
-
-* Why we work on PyPy?
+Part 1
+======
 
-* What you can run on top of PyPy
+.. raw:: latex
 
-* How fast is PyPy?
+    \begin{center}
+    {\bf \Large Becoming complete}
+    \end{center}
 
-* Details about coming 1.1 release
 
-* Questions and Answers 
+PyPy release 1.1
+===================================
 
+* PyPy released version 1.1 in April 2009
 
-PyPy - user motivation
-=======================
 
-* use Python rather than C for performance 
+What is PyPy
+===================================
 
-* have a more speedy, resource efficient interpreter 
+* An alternate Python virtual machine for C/Posix,
+  for .NET and for Java
 
-* support more programming paradigms 
+* More generally, a way to implement interpreters
+  for various languages
 
 
 PyPy - motivation
@@ -31,14 +33,15 @@
 
 * CPython is nice, but not flexible enough
 
-* IronPython, Jython - bound to the specific VM
+* IronPython, Jython - bound to their specific VM
+
+* Psyco and Stackless Python are hard to maintain
 
-* Psyco and Stackless Python hard to maintain
 
-PyPy: generating Python Interpreter 
+PyPy: generating a Python Interpreter
 =====================================
 
-* **high level Python specification**! 
+* **high level Python specification!**
 
 * layer GCs, JIT, Stackless atop the spec 
 
@@ -51,235 +54,291 @@
 Brief history of PyPy
 ==========================
 
-* first sprint 2003, about 30 more by now
+* First sprint in 2003, about 30 more by now
 
 * CPython/Psyco/Jython/Stackless developers participating
 
-* MIT-License, more sprints
+* MIT License
 
 * EU Research project 2004-2007
 
 * 2007-now - open source project
 
-* some google sponsoring
+* Sponsoring from Google, Nokia
 
-Getting Production ready
-==========================
+* Soon JIT work funded by Germany and Sweden
 
-* we worked a lot on running
-  existing applications on top of PyPy
 
-* sometimes requiring to change applications slightly
+PyPy 1.1
+===================================
 
-* especially refcounting details tend to be a problem
+* Compatible with Python 2.5.2
 
-::
+* Well tested on Windows and Linux 32-bit,
+  but should also work on Mac OS/X and Linux 64-bit
 
-  open('xxx', 'w').write('stuff')
+* Runs major packages unmodified, out of the box
 
-CTypes
-======
+* ``easy_install`` / ``distutils`` working
 
-* official way to have bindings to 
-  external (C) libraries for PyPy
 
-* can handle i.e. pysqlite-ctypes, pyglet, pymunk or Sole Scion,
-  almost whatever....
+PyPy 1.1 - more supported packages
+==================================
 
-* contribution to original ctypes
-  (better errno handling, bugfixes, tests...)
+* ``ctypes``
 
-* part of google sponsoring
 
-* note: a bit slow
+PyPy 1.1 - more supported packages
+==================================
 
-Sqlite
-======
+* ``ctypes``
 
-* part of cpython stdlib since 2.5
+* ``sqlite``
 
-* we use Gerhard Haering's CTypes version
 
-* works reasonably well after some fixes
+PyPy 1.1 - more supported packages
+==================================
 
-Django
-======
+* ``ctypes``
 
-* we run unmodified Django 1.0
+* ``sqlite``
 
-* only sqlite DB backend for now
+* ``array``, ``cPickle``, ``cStringIO``, ``cmath``, ``dbm``,
+  ``datetime``, ``binascii``...
 
-http://www.djangoproject.com
 
-http://code.djangoproject.com/wiki/DjangoAndPyPy
+PyPy 1.1 - more supported packages
+==================================
 
-Pylons
-======
+* ``ctypes``
 
-* worked almost out of the box once eggs
-  were working (1 day)
+* ``sqlite``
 
-* no SQLAlchemy yet, obscure problems
-  ahead
+* ``array``, ``cPickle``, ``cStringIO``, ``cmath``, ``dbm``,
+  ``datetime``, ``binascii``...
 
-* unmodified passes all tests
+* ``__builtin__``, ``__pypy__``, ``_codecs``, ``_lsprof``,
+  ``_minimal_curses``, ``_random``, ``_rawffi``, ``_socket``,
+  ``_sre``, ``_weakref``, ``bz2``, ``cStringIO``, ``crypt``,
+  ``dyngram``, ``errno``, ``exceptions``, ``fcntl``, ``gc``,
+  ``itertools``, ``marshal``, ``math``, ``md5``, ``mmap``,
+  ``operator``, ``posix``, ``pyexpat``, ``recparser``, ``select``,
+  ``sha``, ``signal``, ``struct``, ``symbol``, ``sys``, ``termios``,
+  ``thread``, ``time``, ``unicodedata``, ``zipimport``, ``zlib``
 
-* http://pylonshq.com/
 
-Twisted & Nevow
-===============
+PyPy 1.1 - speed
+================
 
-* twisted works (60/4500 tests failing)
+* Performance improved between 10% and 50% since PyPy 1.0
 
-* nevow works
+* Python interpreter is now between 0.8 and 2x (and in
+  some corner case 3-4x) slower than CPython
 
-* we don't support PyCrypto nor PyOpenSSL and we
-  won't anytime soon (if nobody contributes CTypes or rpython
-  versions)
+* It starts faster than CPython :-)
 
-* http://twistedmatrix.com/
+* Better garbage collectors (generational and hybrid)
 
-Stackless
-=========
+* This is all ignoring the ongoing work on the JIT
+  (part 2 of the talk, not in the 1.1 release)
 
-* We support stackless
 
-* tasklets, frame pickling, greenlets
+PyPy 1.1 - sandboxing support
+=============================
 
-* fully cross-platform
+* Sandboxing: "virtualized" version of PyPy, safe to run any
+  untrusted program
 
-Other software
-==============
 
-* pure python should just work 
+PyPy 1.1 - sandboxing support
+=============================
 
-* BitTorrent
+.. raw:: latex
 
-* PyPy translation toolchain
+    \begin{figure}
+    \includegraphics[width=160px]{sandbox1.png}
+    \end{figure}
 
-* py lib 
 
-* sympy
+PyPy 1.1 - sandboxing support
+=============================
 
-* various smaller things, templating engines
+* It is a special version of PyPy
+  that does not do any I/O
 
-Obscure details that people rely on
-=======================================
+* Communicates purely on stdin/stdout
 
-* non-string keys in __dict__ of types
+* Run by an outer controlling process
+  (e.g. a CPython or a regular PyPy)
 
-* exact naming of a list comprehension variable
+* Really safe by construction!
 
-* relying on untested and undocumented private stuff
 
-* exact message matching in exception catching
-  code
+PyPy 1.1 - more news
+=====================
 
-* refcounting details
+* Stackless support complete (tasklet, frame pickling, greenlet)
 
-Conclusion on Compatibility
-============================
+* Classic classes on by default
 
-* lessons learned: There is no feature obscure enough for people
-  not to rely on it. 
+* More memory-efficient (e.g. class instances are often only 50%
+  of the size of CPython)
 
-* pypy-c interpreter probably the most compatible to CPython 2.5
+* ``_lsprof`` profiling
 
-* main blocker for running apps will be missing external modules
 
-Speed - comparison with CPython
-===============================
+PyPy 1.1 - on CLR/.NET
+======================
 
-* we're something between 0.8-4x slower than
-  CPython on various benchmarks without JIT
+* PyPy runs on the CLR and can now interface with
+  .NET libraries (more work needed, though)
 
-* our JIT is a huge leap ahead
+.. raw:: latex
 
-* pypy-c has fastest Interpreter startup
+    \begin{figure}
+    \includegraphics[width=150px]{winform.png}
+    \end{figure}
 
-Speed - JIT generator
-=====================
+* PyPy runs on JVM too, but no integration there
 
-* 20-30x faster on small examples
+* Contributors wanted!
 
-* nice proof of concept
 
-* a bit of time needed to speed up large python
-  programs
+PyPy 1.1 - on Maemo
+=========================
 
-* probably won't make it to 1.1
+* Cross-compliation: N810 Internet Tablet by Nokia
 
-* completely separated from the interpreter
+.. raw:: latex
 
-Memory - comparison with CPython
-===================================
+    \begin{figure}
+    \includegraphics[width=160px]{800px-N810-open.jpg}
+    \end{figure}
+
+* Security, RAM usage, sharing interpreter state across processes...
+  PyPy's approach is good (not fully implemented yet)
 
-* PyPy has smaller Python objects
 
-* user class instances often 50% of CPython size! 
+What we can run
+==========================
 
-* PyPy has pluggable Garbage Collection 
+* We worked a lot on running
+  existing applications on top of PyPy
 
-Threading / Stackless
-===================================
+* Sometimes requiring to change applications slightly
 
-* currently using GIL
+* Especially refcounting details tend to be a problem
 
-* free threading? "it's work" 
+::
 
-* pypy-c has software threading / stackless
+  open('xxx', 'w').write('stuff')
 
-* no modifications to interpreter involved
 
-Other backends
-==============
+CTypes
+======
 
-* PyPy-CLI runs!  Still needs a bit more integration with .NET
+* Part of CPython stdlib since 2.5
 
-* PyPy-JVM runs, little integration so far
+* Official way to have bindings to 
+  external (C) libraries for PyPy
 
-* general speed improvements
+* Can handle i.e. ``pysqlite-ctypes``, ``pyglet``, ``pymunk`` or
+  ``Sole Scion``, almost whatever...
 
-* both backends are progressing - very slowly though
+* Contribution to original ``ctypes``
+  (better errno handling, bugfixes, tests...)
 
-* contributors wanted!
+* Part of Google sponsoring
 
-pypy-c on small devices
-===============================
+* Note: a bit slow
 
-- cross-compilation 
+Sqlite
+======
 
-- startup time 
+* Part of CPython stdlib since 2.5
 
-- security 
+* We use Gerhard Haering's CTypes version
 
-- RAM usage 
+* Works reasonably well after some fixes
 
-- share interpreter state across processes
+* Included in PyPy
 
-- pypy approach a very good fit! 
+Django
+======
 
-1.1 release
-===================================
+* We run unmodified Django 1.0
 
-- compatible to Python 2.5.2 
+* Only sqlite DB backend for now
 
-- well tested on win/linux 32 bit 
+http://www.djangoproject.com
 
-- running major packages unmodified 
+http://code.djangoproject.com/wiki/DjangoAndPyPy
+
+Pylons
+======
+
+* Worked almost out of the box once eggs
+  were working (1 day)
 
-- easy_install/distutils working 
+* No SQLAlchemy yet, obscure problems
+  ahead
+
+* Unmodified, it passes all tests
+
+http://pylonshq.com/
+
+Twisted & Nevow
+===============
 
-- help e.g. by writing ctypes modules 
+* Twisted works (60/4500 tests failing)
+
+* Nevow works
+
+* We don't support PyCrypto nor PyOpenSSL and we
+  won't anytime soon (unless someone contributes a CTypes
+  or RPython version)
+
+http://twistedmatrix.com/
+
+Other software
+==============
+
+* Anything written in pure Python should just work :-)
+
+* BitTorrent, PyPy translation toolchain,
+  py lib, SymPy, Pinax...
+
+* Various smaller things, templating engines...
+
+Obscure details that people rely on
+=======================================
+
+* 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
+  code
+
+* Refcounting details
+
+Lessons Learned
+============================
+
+* Lessons Learned: There is No Feature Obscure Enough for people
+  not to rely on
+
+* The ``pypy-c`` interpreter is probably far more compatible to
+  CPython 2.5 than Jython or IronPython
+
+* Main blocker for running apps is missing external modules
 
-- hopefully released next month
 
 Contact / Q&A 
 ==========================
 
-holger krekel, Maciej Fijalkowski
-at http://merlinux.eu
-
 PyPy: http://codespeak.net/pypy
 
 Blog: http://morepypy.blogspot.com
@@ -287,7 +346,5 @@
 .. raw:: latex
 
     \begin{figure}
-    \includegraphics[width=64px,height=64px]{merlinux-logo.jpg}
-    \qquad
     \includegraphics[width=80px]{../../img/py-web.png}
     \end{figure}

Modified: pypy/extradoc/talk/ep2009/status/title.latex
==============================================================================
--- pypy/extradoc/talk/pycon2009/status/title.latex	(original)
+++ pypy/extradoc/talk/ep2009/status/title.latex	Wed Jun 24 13:28:13 2009
@@ -1,7 +1,5 @@
 \begin{titlepage}
 \begin{figure}[h]
-\includegraphics[width=64px,height=64px]{merlinux-logo.jpg}
-\qquad
 \includegraphics[width=80px]{../../img/py-web.png}
 \end{figure}
 \end{titlepage}

Added: pypy/extradoc/talk/ep2009/status/winform.png
==============================================================================
Binary file. No diff available.



More information about the Pypy-commit mailing list