[pypy-svn] r27937 - pypy/extradoc/talk/dls2006
arigo at codespeak.net
arigo at codespeak.net
Tue May 30 19:32:10 CEST 2006
Author: arigo
Date: Tue May 30 19:32:08 2006
New Revision: 27937
Modified:
pypy/extradoc/talk/dls2006/paper.tex
Log:
Filling in numbers, and trying to explain them.
Modified: pypy/extradoc/talk/dls2006/paper.tex
==============================================================================
--- pypy/extradoc/talk/dls2006/paper.tex (original)
+++ pypy/extradoc/talk/dls2006/paper.tex Tue May 30 19:32:08 2006
@@ -865,7 +865,7 @@
Our tool-chain is capable of translating the Python interpreter of
PyPy, written in RPython, producing right now either ANSI C code as
-described before, or LLVM\footnote{the LLVM project is the realisation
+described before, or LLVM\footnote{The LLVM project is the realisation
of a portable assembler infrastructure, offering both a virtual
machine with JIT capabilities and static compilation. Currently we are
using the latter with its good high-level optimisations for PyPy.}
@@ -889,11 +889,11 @@
+------------------------------------+-------------------+-------------------+
| pypy-c-thread | 4552ms (5.8x) | 7122 (5.7x) |
+------------------------------------+-------------------+-------------------+
-| pypy-c-stackless | XXX (6.0x) | XXX (6.2x) |
+| pypy-c-stackless | 5121ms (6.5x) | 6060 (6.7x) |
+------------------------------------+-------------------+-------------------+
| pypy-c-gcframework | 6327ms (8.0x) | 4960 (8.1x) |
+------------------------------------+-------------------+-------------------+
-| pypy-c-stackless-gcframework | XXX ( ) | XXX ( ) |
+| pypy-c-stackless-gcframework | 8743ms (11.0x) | 3755 (10.7x) |
+------------------------------------+-------------------+-------------------+
| pypy-llvm-c | 3797ms (4.8x) | 7763 (5.2x) |
+------------------------------------+-------------------+-------------------+
@@ -933,12 +933,14 @@
pypy-c-stackless-gcframework
This variant combines the "gc transformation" step with the
"stackless transformation" step. The overhead introduced by the
- stackless feature is balanced with the removal of the overhead of
- pushing and popping roots explicitly on an alternate stack: indeed,
- in this variant it is possible to ask the functions in the current C
- call chain to save their local state and return. This has the
- side-effect of moving all roots to the heap, where the GC can find
- them.
+ stackless feature is theoretically balanced with the removal of the
+ overhead of pushing and popping roots explicitly on an alternate
+ stack: indeed, in this variant it is possible to ask the functions
+ in the current C call chain to save their local state and return.
+ This has the side-effect of moving all roots to the heap, where the
+ GC can find them. (We hypothesize that the large slowdown is caused
+ by the extreme size of the executable in this case - 21MB, compared to
+ 6MB for the basic pypy-c. Making it smaller is work in progress.)
pypy-llvm-c
The same as pypy-c, but using the LLVM back-end instead of the C
@@ -1007,7 +1009,7 @@
speculate it is because of the increase in size caused by the previous
transformations). A translation of pypy-c-stackless, without counting
GCC time, takes 60 minutes; the same for pypy-c-stackless-gcframework
-takes XXX minutes.
+takes 129 minutes.
More information about the Pypy-commit
mailing list