[pypy-svn] r63617 - pypy/extradoc/talk/icooolps2009-dotnet
davide at codespeak.net
davide at codespeak.net
Sat Apr 4 16:56:26 CEST 2009
Author: davide
Date: Sat Apr 4 16:56:24 2009
New Revision: 63617
Modified:
pypy/extradoc/talk/icooolps2009-dotnet/paper.tex
Log:
some adjustments in the abstract
Modified: pypy/extradoc/talk/icooolps2009-dotnet/paper.tex
==============================================================================
--- pypy/extradoc/talk/icooolps2009-dotnet/paper.tex (original)
+++ pypy/extradoc/talk/icooolps2009-dotnet/paper.tex Sat Apr 4 16:56:24 2009
@@ -75,28 +75,27 @@
\maketitle
\begin{abstract}
-The CLI, i.e. the virtual machine at the core of the .NET environment, is a
-statically typed virtual machine. Although it is being used as a target for
-many different languages, it is hard to provide highly efficient implementation
-of languages whose model is too different than the one of the VM. In
-particular, dynamically typed languages are typically order of magnitude
-slower than, e.g., C\#.
+The Common Language Infrastructure (CLI) is a virtual machine expressly
+designed for implementing statically typed languages as C\#, therefore
+programs written in dynamically typed languages are typically much slower than C\# when executed on .NET.
\anto{XXX: should we cite the DLR? How to prove that DLR programs are much
slower than C\#?}
+\davide{We can try writing something in the conclusion}
Recent developments show that JIT compilers can exploit runtime type
information to generate quite efficient code. Unfortunately, writing a JIT
-compiler is far from being simple. In this paper we report our positive
+compiler is far from being simple.
+
+In this paper we report our positive
experience with automatic generation of JIT compilers as supported by the PyPy
infrastructure, by focusing on JIT compilation for .NET.
+Following this approach, we have in fact added a second layer of JIT compilation, by allowing dynamic generation of more efficient .NET bytecode, which
+in turn can be compiled to machine code by the .NET JIT compiler.
-JIT compilation for .NET means to generate .NET bytecode at runtime, which
-will be further compiled down to machine code by .NET's own JIT compiler. The
-main and novel contribution of this paper is to show that this
-\emph{two-layers JIT} technique is effective, and can give very high speedups,
-up to making dynamic languages faster than C\# itself under certain
-circumstances.
+The main and novel contribution of this paper is to show that this
+\emph{two-layers JIT} technique is effective, since programs written in dynamic languages
+can run on .NET as fast as (and in some cases even faster than) the equivalent C\# programs.
The practicality of the approach is demonstrated by showing some promising
experiments done with benchmarks written in a simple dynamic language.
More information about the Pypy-commit
mailing list