[pypy-svn] extradoc extradoc: give a conceptual level view on the hints

pedronis commits-noreply at bitbucket.org
Sun Mar 27 19:44:19 CEST 2011


Author: Samuele Pedroni <pedronis at lucediurna.net>
Branch: extradoc
Changeset: r3427:6ace2abd3935
Date: 2011-03-27 19:44 +0200
http://bitbucket.org/pypy/extradoc/changeset/6ace2abd3935/

Log:	give a conceptual level view on the hints

diff --git a/talk/icooolps2011/paper.tex b/talk/icooolps2011/paper.tex
--- a/talk/icooolps2011/paper.tex
+++ b/talk/icooolps2011/paper.tex
@@ -132,23 +132,28 @@
 bare meta-tracing.
 
 In this paper we present two of these hints that are extensively used in the
-PyPy project to improve the performance of its Python interpreter. These
-hints are used to control how the optimizer of the tracing JIT can improve the
-traces of the object model. More specifically, these hints influence the
-constant folding optimization. The first hint make it possible to turn arbitrary
-variables in the trace into constants. The second hint allows the definition of
-additional foldable operations.
+PyPy project to improve the performance of its Python interpreter. 
+
+Conceptually the significant speed-ups that can be achieved with
+dynamic compilation depends on feeding into compilation and exploiting
+values observed at runtime that are in practice mostly constant (XXX or should we say slow varying), and
+in structuring implementation code and data structures such that more
+of such values are at hand. The hints that we present allow exactly to implement such feedback and exploitation in a meta-tracing context.
+
+Concretely these hints are used to control how the optimizer of the
+tracing JIT can improve the traces of the object model. More
+specifically, these hints influence the constant folding
+optimization. The first hint make it possible to turn arbitrary
+variables in the trace into constant. The
+second hint allows the definition of additional foldable operations.
 
 Together these two hints can be used to express many classic implementation
 techniques used for object models of dynamic languages, such as maps and
 polymorphic inline caches.
 
-XXX replace "turn variable into constant" into "main tool to feedback language
-and semantics specific runtime information into the compilation"
-
 The contributions of this paper are:
 \begin{itemize}
- \item A hint to turn arbitrary variables into constants in the trace.
+ \item A hint to turn arbitrary variables into constants in the trace, that means the feedback of runtime information into compilation.
  \item A way to define new pure operations which the constant folding
  optimization then recognizes.
  \item A worked-out example of a simple object model of a dynamic language and

diff --git a/talk/icooolps2011/jit-hints.pdf b/talk/icooolps2011/jit-hints.pdf
index 91b5aa6d7e372b1f8874c7a9754f583856469075..5868e0dd83072ad3e571f7f53a5c01404089b53a
GIT binary patch
[cut]


More information about the Pypy-commit mailing list