[pypy-svn] r77842 - pypy/extradoc/talk/pepm2011

cfbolz at codespeak.net cfbolz at codespeak.net
Tue Oct 12 17:14:32 CEST 2010


Author: cfbolz
Date: Tue Oct 12 17:14:31 2010
New Revision: 77842

Modified:
   pypy/extradoc/talk/pepm2011/paper.tex
Log:
add missing citations


Modified: pypy/extradoc/talk/pepm2011/paper.tex
==============================================================================
--- pypy/extradoc/talk/pepm2011/paper.tex	(original)
+++ pypy/extradoc/talk/pepm2011/paper.tex	Tue Oct 12 17:14:31 2010
@@ -141,7 +141,7 @@
 
 The most important technique we use to achieve to optimize traces is a
 straightforward application of partial evaluation. The partial evaluation
-performs a form of escape analysis \cite{XXX} on the traces and make some
+performs a form of escape analysis \cite{bruno_blanchet_escape_2003} on the traces and make some
 objects that are allocated in the trace \emph{static}\footnote{These objects are
 called \emph{virtual} in Psyco \cite{rigo_representation-based_2004}.} which
 means that they do not occur any more in the optimized trace. This technique is
@@ -213,8 +213,8 @@
 \cite{bala_dynamo:_2000}. Tracing JITs have then be adapted to be used for a
 very light-weight Java VM \cite{gal_hotpathvm:_2006} and afterwards used in
 several implementations of dynamic languages, such as JavaScript
-\cite{andreas_gal_trace-based_2009}, Lua \cite{XXX} and now Python (and other
-languages) via PyPy.
+\cite{andreas_gal_trace-based_2009}, Lua\footnote{\texttt{http://luajit.org/}}
+and now Python (and other languages) via PyPy.
 
 The core idea of tracing JITs is to focus the optimization effort of the JIT
 compiler on the hot paths of the core loops of the program and to just use an
@@ -1013,7 +1013,7 @@
 objects. The JIT will then fill these objects only lazily when they are actually
 accessed (\eg because a debugger is used). Therefore in the common case, nothing
 is stored into the frame objects, making the problem of too much escaping go
-away. This is a common approach in VM implementations \cite{XXX}, the only
+away. This is a common approach in VM implementations \cite{miranda_context_1999}, the only
 novelty in our approach lays in its generality, because most other JITs are just
 specifically written for one particular language.
 
@@ -1040,12 +1040,12 @@
     framework\footnote{\texttt{http://www.djangoproject.com/}}.
     \item \textbf{go}: A Monte-Carlo Go
     AI\footnote{\texttt{http://shed-skin.blogspot.com/2009/07/ disco-elegant-python-go-player.html}}.
-    \item \textbf{html5lib}: HTML5 parser
-    \item \textbf{pyflate-fast}: BZ2 decoder
-    \item \textbf{raytrace-simple}: ray tracer
-    \item \textbf{richards}: The Richards benchmark \cite{XXX}
+    \item \textbf{html5lib}: An HTML5 parser.
+    \item \textbf{pyflate-fast}: A BZ2 decoder.
+    \item \textbf{raytrace-simple}: A ray tracer.
+    \item \textbf{richards}: The Richards benchmark.
     \item \textbf{spambayes}: A Bayesian spam filter\footnote{\texttt{http://spambayes.sourceforge.net/}}.
-    \item \textbf{telco}: A Python version of the Telco decimal
+    \item \textbf{telco}: A Python version of the Telco decimal.
     benchmark\footnote{\texttt{http://speleotrove.com/decimal/telco.html}},
     using a pure Python decimal floating point implementation.
     \item \textbf{twisted\_names}: A DNS server benchmark using the Twisted networking
@@ -1090,7 +1090,7 @@
 various Python implementations on the benchmarks. As a baseline, we used the
 standard Python implementation in C, called
 CPython\footnote{\texttt{http://python.org}}, which uses a bytecode-based
-interpreter. Furthermore we compared against Psyco \cite{XXX}, an extension to
+interpreter. Furthermore we compared against Psyco \cite{rigo_representation-based_2004}, an extension to
 CPython which is a just-in-time compiler that produces machine code at run-time.
 It is not based on traces. Of PyPy's Python interpreter we used three versions,
 one without a JIT, one including the JIT but not using the allocation removal
@@ -1099,7 +1099,7 @@
 All benchmarks were run 50 times in the same process, to give the JIT time to produce machine
 code. The arithmetic mean of the times of the last 30 runs were used as the
 result. The errors were computed using a confidence interval with a 95\%
-confidence level \cite{XXX}. The results are reported in Figure~\ref{fig:times}.
+confidence level \cite{georges_statistically_2007}. The results are reported in Figure~\ref{fig:times}.
 With the optimization turned on, PyPy's Python interpreter outperforms CPython
 in all benchmarks except spambayes (which heavily relies on regular expression
 performance). All benchmarks are improved by the allocation removal
@@ -1156,8 +1156,8 @@
 
 SPUR, a tracing JIT for C\# seems to be able to remove allocations in a similar
 way to the approach described here, as hinted at in the technical report
-\cite{XXX}. However, no details for the approach and its implementation are
-given.
+\cite{michael_bebenita_spur:_2010}. However, no details for the approach and its
+implementation are given.
 
 partial evaluation:
 



More information about the Pypy-commit mailing list