[pypy-svn] rev 1321 - pypy/trunk/doc/funding
tismer at codespeak.net
tismer at codespeak.net
Tue Sep 16 14:04:49 CEST 2003
Author: tismer
Date: Tue Sep 16 14:04:48 2003
New Revision: 1321
Added:
pypy/trunk/doc/funding/B6.wp05_bootstrap_runtime.txt
Removed:
pypy/trunk/doc/funding/B6.wp04_bootstrapping_pypy.txt
Modified:
pypy/trunk/doc/funding/B6.1_plan_introduction.txt
pypy/trunk/doc/funding/B6.wp03_translation_of_rpython.txt
pypy/trunk/doc/funding/B6.wp04_bootstrap_redesign.txt
Log:
splitted Wp4 into two and reworked.
Modified: pypy/trunk/doc/funding/B6.1_plan_introduction.txt
==============================================================================
--- pypy/trunk/doc/funding/B6.1_plan_introduction.txt (original)
+++ pypy/trunk/doc/funding/B6.1_plan_introduction.txt Tue Sep 16 14:04:48 2003
@@ -20,7 +20,7 @@
applications.
-*XXX: AT the moment, I'm listing the working packages here.
+*XXX: At the moment, I'm listing the working packages here.
I think this is no good. The WPs are now moved out of here.
The text here gets shortened, the text outside gets
extended.*
@@ -94,8 +94,9 @@
we could target (C, Pyrex, others?).
-WP04_: _`Bootstrapping` PyPy
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+_`Bootstrapping` PyPy
+------------------------------
+
The goal is to put interpreter (WP01_, WP02_) and translator
(WP03_) together.
@@ -107,7 +108,9 @@
first attempt. Analysis and redesign will have to be
repeated until the result is satisfactory.
-**Part a): Specific Analysis and Redesign**
+
+WP04_: Specific Analysis and Redesign
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The global translation of PyPy is going to raise particular
problems, other than more general RPython programs do.
@@ -115,12 +118,14 @@
bootstrap process and the main target of the translator,
we need to investigate and isolate the
particular problems, and redesign specific parts of PyPy
-to support translation, code generation and optimzation
+to support translation, code generation and optimisation
better. This will also include a re-iteration of the interface
design between application level and interpreter level
until we reach overall convergence.
-**Part b): Low Level PyPy Runtime**
+
+WP05_: Low Level PyPy Runtime
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to give a working environment to the translated RPython
program, we need to build the low-level-specific **run-time**
@@ -145,18 +150,15 @@
executed directly, but goes though a code generator which
produces the actual machine code. This layer is highly configurable.
-The associated working packages
-should be done in parallel,since the results are rather dependant
-from each other.
-WP05_: Several Object Implementations
+WP06_: Several Object Implementations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
develop **several object implementations** for the same types, as
explicitly allowed by the standard object space, and develop heuristics
to switch between implementations during execution. (see `Annex SOI`_)
Study the efficiency of different approaches.
-WP06_: Translator Optimisations
+WP07_: Translator Optimisations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It should be identified, which **optimizations** would benefit
from support from the translator. These are the optimizations
@@ -164,29 +166,25 @@
large-scale code rewrites. (see `Annex OPT`)
This includes design-considerations including the decision whether
to use reference counting together with garbage collection,
-or to go for garbage collection, only.
-
-*XXX use a different WP for the next?*
+or whether to go for garbage collection, only.
For each issue, work on **several solutions** when no one is obviously
-better than the other ones. The meta-programming underlying [[WP10]]
+better than the other ones. The meta-programming underlying WP07_
-- namely the work on the translator instead of on the resulting code -- is
what gives us the possibility of actually implementing several very
different schemes. The outcome of this effort is of course not unique,
but depends on the specific target of the optimization.
There will be at least two efforts at the same time:
-- optimization towards maximum performance fo an integrated PyPy system
+- optimization towards maximum performance of an integrated PyPy system
- optimization towards minimal code size for embedded systems.
*add a lot more about this*
-WP07_: Integration of Existing Technology
+WP08_: Integration of Existing Technology
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-*XXX should this be split into two WPs?*
-
There are existing projects, notably Psyco and Stackless,
which have been traditionally depended on closely
following CPython's code base.
@@ -208,8 +206,8 @@
between different machines.
Rewrite each one as a meta-component that hooks into the
-translator plus a dedicated run-time component. Further
-develop these technologies based on the results gathered in WP04_,
+translator plus a dedicated run-time component (WP05_). Further
+develop these technologies based on the results gathered in WP07_,
e.g. identify when these technologies would guide specific
choices among the solutions developed in WP05_ and studying
several solutions in WP06_.
Modified: pypy/trunk/doc/funding/B6.wp03_translation_of_rpython.txt
==============================================================================
--- pypy/trunk/doc/funding/B6.wp03_translation_of_rpython.txt (original)
+++ pypy/trunk/doc/funding/B6.wp03_translation_of_rpython.txt Tue Sep 16 14:04:48 2003
@@ -38,12 +38,13 @@
**Part b): Code Production**
+- Compare different low-level environments that
+ we could target (C, Pyrex, others?). Select at least
+ one suitable target.
- Produce low-level code out of the data gathered in Part a).
- Again investigate how this is best done (AST-guided translation or
reverse-engeneering of the low-level control flow gathered by the
annotation object space).
-- Compare different low-level environments that
- we could target (C, Pyrex, others?).
- Provide some measure for the efficiency of the generated
code, in comparison to Standard Python.
Modified: pypy/trunk/doc/funding/B6.wp04_bootstrap_redesign.txt
==============================================================================
--- pypy/trunk/doc/funding/B6.wp04_bootstrap_redesign.txt (original)
+++ pypy/trunk/doc/funding/B6.wp04_bootstrap_redesign.txt Tue Sep 16 14:04:48 2003
@@ -18,7 +18,7 @@
**Objectives**
-Title: Bootstrapping PyPy
+Title: Specific Analysis and Redesign
- Putting interpreter (WP01_, WP02_) and translator (WP03_) together.
- Enhancing the PyPy Design.
@@ -36,20 +36,6 @@
- Re-iterate this until we agree to have reached
an optimum solution.
-
-**Part b): Low Level PyPy Runtime**
-
-In order to give a working environment to the translated RPython
-program, we need to build the low-level-specific **run-time**
-components of PyPy.
-Most notably are the object layout, the memory management,
-and possibly threading support, as well as an
-efficient multimethod dispatch.
-The target language is not yet decided on. We might go different
-paths at the same time.
-If producing C code is a target, important
-parts can be directly re-used from CPython.
-
**Deliverables**
@@ -58,3 +44,4 @@
**Milestones and Expected Result**
+
Deleted: /pypy/trunk/doc/funding/B6.wp04_bootstrapping_pypy.txt
==============================================================================
--- /pypy/trunk/doc/funding/B6.wp04_bootstrapping_pypy.txt Tue Sep 16 14:04:48 2003
+++ (empty file)
@@ -1,60 +0,0 @@
-.. include:: crossreferences.asc
-
-Workpackage Description
-========================
-
-================================ ==========================
-**Workpackage number** 04
--------------------------------- --------------------------
-**Start date or starting event** 0
-================================ ==========================
-
-================================= ======= ======= ======= ======= ======= ======= ======= =======
-**Participant id** X Y
---------------------------------- ------- ------- ------- ------- ------- ------- ------- -------
-**Person-months per participant** 3 3
-================================= ======= ======= ======= ======= ======= ======= ======= =======
-
-
-**Objectives**
-
-Title: Bootstrapping PyPy
-
-- Putting interpreter (WP01_, WP02_) and translator (WP03_) together.
-- Enhancing the PyPy Design.
-
-
-**Description of work**
-
-
-**Part a): Specific Analysis and Redesign**
-
-- Investigate the particular problems that the
- global translation of PyPy is going to raise.
-- Enhance and redesign parts of PyPy as needed
- to give best support to the translation of RPython.
-- Re-iterate this until we agree to have reached
- an optimum solution.
-
-
-**Part b): Low Level PyPy Runtime**
-
-In order to give a working environment to the translated RPython
-program, we need to build the low-level-specific **run-time**
-components of PyPy.
-Most notably are the object layout, the memory management,
-and possibly threading support, as well as an
-efficient multimethod dispatch.
-The target language is not yet decided on. We might go different
-paths at the same time.
-If producing C code is a target, important
-parts can be directly re-used from CPython.
-
-
-
-**Deliverables**
-
-
-
-**Milestones and Expected Result**
-
Added: pypy/trunk/doc/funding/B6.wp05_bootstrap_runtime.txt
==============================================================================
--- (empty file)
+++ pypy/trunk/doc/funding/B6.wp05_bootstrap_runtime.txt Tue Sep 16 14:04:48 2003
@@ -0,0 +1,52 @@
+.. include:: crossreferences.asc
+
+Workpackage Description
+========================
+
+================================ ==========================
+**Workpackage number** 05
+-------------------------------- --------------------------
+**Start date or starting event** 0
+================================ ==========================
+
+================================= ======= ======= ======= ======= ======= ======= ======= =======
+**Participant id** X Y
+--------------------------------- ------- ------- ------- ------- ------- ------- ------- -------
+**Person-months per participant** 2 2
+================================= ======= ======= ======= ======= ======= ======= ======= =======
+
+
+**Objectives**
+
+Title: Low Level PyPy Runtime
+
+- Providing a Runtime Library for PyPy
+
+
+**Description of work**
+
+
+In order to give a working environment to the translated RPython
+program, we need to build the low-level-specific **run-time**
+components of PyPy.
+
+- Design the object layout and implement it.
+- Decide about memory management and implement it.
+- Consider threading support and implement it. Make sure
+ that the other components are thread-aware.
+- Design and implement an efficient multimethod dispatch.
+
+The target language is not yet decided on. We might go different
+paths at the same time.
+If producing C code is a target, important
+parts can be directly re-used from CPython.
+
+
+
+**Deliverables**
+
+DL??? Runtime Library for PyPy
+
+**Milestones and Expected Result**
+
+
More information about the Pypy-commit
mailing list