Author: Simon Cross <hodges...@gmail.com> Branch: extradoc Changeset: r4126:84a4734ee987 Date: 2012-03-06 20:59 +0200 http://bitbucket.org/pypy/extradoc/changeset/84a4734ee987/
Log: (fijal, arigo, hodgestar) Clean-ups after joint review. diff --git a/talk/pycon2012/tutorial/slides.rst b/talk/pycon2012/tutorial/slides.rst --- a/talk/pycon2012/tutorial/slides.rst +++ b/talk/pycon2012/tutorial/slides.rst @@ -87,7 +87,7 @@ Performance sweetspots ====================== -* every VM has it's sweetspot +* every VM has its sweetspot * we try hard to make it wider and wider @@ -130,14 +130,14 @@ Tracing JIT =========== -* once the loop gets hot, it's starting tracing (1039 runs, or 1619 function +* once the loop gets hot, it starts tracing (1039 runs, or 1619 function calls) -* generating operations following how the interpreter executes them +* generates operations following how the interpreter executes them -* optimizing them +* optimizes chunks of operations -* compiling to assembler (x86, ppc or arm) +* compiles to assembler (x86, ppc or arm) PyPy's specific features ======================== @@ -148,6 +148,36 @@ * decent tools for inspecting the generated code +The PyPy cake +============= + +.. raw:: latex + + \begin{columns}[c] + \column{0.6\textwidth} + +* Your Python code +* PyPy interpreter (RPython) +* High-level flow graphs +* Low-level flow graphs + + * JIT + + * knows about exceptions and GC + + * C representation + + * reduces flow graphs to remove + exceptions and GC + +.. raw:: latex + + \column{0.4\textwidth} + \includegraphics[width=\textwidth]{images/cake} + \end{columns} + +.. This comment is here to make the LaTeX work. + Performance characteristics - runtime ===================================== @@ -199,13 +229,13 @@ ================= * lists are specialized for type - ``int``, ``float``, ``str``, ``unicode`` and - ``range``. + ``range()``. * appending a new type to an existing list makes you iterate over the entire list and rewrite everything. -Itertools abuse -=============== +Simpler is Faster +================= * some examples @@ -216,8 +246,10 @@ * if we've never seen a use of some piece of stdlib, chances are it'll be suboptimal on pypy -Obscure stuff -============= +* no really, simple is good + +Things we could improve +======================= * frame access is slow @@ -225,12 +257,12 @@ * profiling & tracing hooks -* a bit in the state of flux +* all works but could be optimized more JitViewer ========= -* http://bitbucket.org/pypy/jitviewer +* ``bitbucket.org/pypy/jitviewer`` * ``mkvirtualenv -p <path to pypy>`` @@ -251,33 +283,3 @@ * functions are inlined * sometimes completely twisted flow - -The PyPy Cake -============= - -.. raw:: latex - - \begin{columns}[c] - \column{0.6\textwidth} - -* Your Python code -* PyPy interpreter (RPython) -* High-level flow graphs -* Low-level flow graphs - - * JIT - - * knows about exceptions and GC - - * C representation - - * reduces flow graphs to remove - exceptions and GC - -.. raw:: latex - - \column{0.4\textwidth} - \includegraphics[width=\textwidth]{images/cake} - \end{columns} - -.. This comment is here to make the LaTeX work. _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit