[pypy-commit] extradoc extradoc: (fijal, arigo, hodgestar) Clean-ups after joint review.
hodgestar
noreply at buildbot.pypy.org
Tue Mar 6 19:59:50 CET 2012
Author: Simon Cross <hodgestar at 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.
More information about the pypy-commit
mailing list