[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