Author: Armin Rigo <[email protected]> Branch: extradoc Changeset: r4168:9c8dcd01475e Date: 2012-03-31 14:21 +0200 http://bitbucket.org/pypy/extradoc/changeset/9c8dcd01475e/
Log: merge heads diff --git a/blog/draft/pycon-wrapup.rst b/blog/draft/pycon-wrapup.rst new file mode 100644 --- /dev/null +++ b/blog/draft/pycon-wrapup.rst @@ -0,0 +1,27 @@ +PyCon 2012 +========== + +So, PyCon happened. This was the biggest PyCon ever and probably the biggest +gathering of Python hackers ever. + +From the PyPy perspective, a lot at PyCon was about PyPy. Listing things: + +* David Beazley did an excellent keynote on trying to dive head-first into + PyPy and at least partly failing. He however did not fail to explain + bits and pieces about PyPy's architecture. `Video`_ is available. + +* We gave tons of talks, including the `tutorial`_ and `why pypy by example`_. + +* We had a giant influx of new commiters, easily doubling the amount of pull + requests ever created for PyPy. The main topics for newcomers were numpy and + py3k, disproving what David said about PyPy being too hard to dive into ;) + +* Guido argued in his keynote that Python is not too slow. In the meantime, + we're trying to `prove him correct`_ :-) + +* XXX stuff stuff + +.. _`Video`: xxx +.. _`tutorial`: xxx +.. _`why pypy by example`: xxx +.. _`prove him correct`: http://mrjoes.github.com/2011/12/15/sockjs-bench.html diff --git a/talk/uct2012/abstract.rst b/talk/uct2012/abstract.rst new file mode 100644 --- /dev/null +++ b/talk/uct2012/abstract.rst @@ -0,0 +1,16 @@ +Building fast enough VMs in fast enough time +============================================ + +PyPy is a fast interpreter for the Python programming language. This however, +not the whole description. It's also a framework for building efficient +Virtual Machines for dynamic languages with relatively little effort. + +In this talk I would like to walk people through how the unique +infrastructure provided by the PyPy project let's you write efficient +virtual machines with minimal effort. This talk will cover the +architecture of the PyPy project, how to use it in your own VMs as +well as how to hook up an efficient garbage collector and Just In Time +compiler with minimal effort. + +This talk assumes no prior exposure to compiler techniques and assumes +some very basic knowledge of the Python programming language. diff --git a/talk/uct2012/talk.rst b/talk/uct2012/talk.rst new file mode 100644 --- /dev/null +++ b/talk/uct2012/talk.rst @@ -0,0 +1,85 @@ +Fast enough VMs in fast enough time +=================================== + +Who am I? +--------- + +* PyPy developer since 2006 + +XXX + +What is PyPy? +------------- + +* an open source project + +* a Python interpreter + +* **a framework for writing dynamic language VMs** + +* an agile project sponsored by the EU and others + +What is a VM? +------------- + +* a program + +* input: a program + +* output: the result of executing that program + +What does a VM look like? +------------------------- + +* Lexical/analysis parsing (what are the symbols in the program) + +* AST construction (what is the structure of the program) + +* Bytecode compilation (optional) + +* Execution + +Where does PyPy come in? +------------------------ + +* Tools for writing these programs quickly, and efficiently. + + * Helpers for things like parsing + + * Free JIT, and garbage collectors + +* Mostly you write a totally normal VM in python, and it becomes magically fast + +PyPy architecture +----------------- + +* snakes all the way down + +* everything is written in Python - including JIT, GC, etc. + +* to be precise, a **subset** of Python, called RPython + +* your VM has to be implemented in RPython + +RPython - the good +------------------ + +* The good - it's mostly Python + +* Just write python and fix it later + +RPython - the bad +----------------- + +* It's restricted + +* Most dynamic features don't work, but you can employ all kinds of tricks during import + +RPython - the ugly +------------------- + +* Documentation + +* Error messages + +* Global type inference _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
