[pypy-svn] extradoc extradoc: some comments from Peng Wu
cfbolz
commits-noreply at bitbucket.org
Wed Apr 13 16:24:27 CEST 2011
Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: extradoc
Changeset: r3498:f563410ac3de
Date: 2011-04-13 16:23 +0200
http://bitbucket.org/pypy/extradoc/changeset/f563410ac3de/
Log: some comments from Peng Wu
diff --git a/talk/icooolps2011/paper.tex b/talk/icooolps2011/paper.tex
--- a/talk/icooolps2011/paper.tex
+++ b/talk/icooolps2011/paper.tex
@@ -185,6 +185,9 @@
the hints are applied to the tiny object model and Section~\ref{sec:evaluation}
presents benchmarks.
+\cfbolz{XXX stress more that "the crux of the techniques and a significant
+portion of new contributions in the paper are from how to refactoring codes to
+expose likely runtime constants and pure functions"}
\section{Background}
@@ -372,6 +375,9 @@
\section{Hints for Controlling Optimization}
\label{sec:hints}
+\cfbolz{XXX more precise definition of what promote does}
+\cfbolz{change the hint(x, promote=True) syntax to something more readable}
+
In this section we will describe how to add two hints that allow the
interpreter author to increase the optimization opportunities for constant
folding. If applied correctly these techniques can give really big speedups by
@@ -467,8 +473,8 @@
return z + y
\end{lstlisting}
-The meaning of this hint is that the tracer should pretend that \texttt{x} is a
-constant
+The hint indicates that \texttt{x} is likely a runtime constant and the JIT
+should try to perform runtime specialization on it
in the code that follows. When just running the code, the function has no
effect, as it simply returns its first argument. When tracing, some extra work
is done. Let's assume that this changed function is traced with
@@ -528,6 +534,9 @@
promote the types. Section~\ref{sec:} will present a complete example of how
this works.
+\cfbolz{XXX explain how value specialization on the interpreter level can lead
+to type specialization on the language level}
+
\subsection{Declaring New Pure Operations}
@@ -592,6 +601,8 @@
return self.x * 2 + 1
\end{lstlisting}
+\cfbolz{XXX define the meaning of purefunction more precisely, particularly because add\_attribute has side effects, which is confusing}
+
\cfbolz{should we mention that pure functions are not actually called by the optimizer, but the values that are seen during tracing are used?}
Now the trace will look like this:
More information about the Pypy-commit
mailing list