[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