[pypy-svn] rev 1405 - pypy/trunk/doc/funding
tismer at codespeak.net
tismer at codespeak.net
Tue Sep 23 02:18:35 CEST 2003
Author: tismer
Date: Tue Sep 23 02:18:34 2003
New Revision: 1405
Added:
pypy/trunk/doc/funding/B6.wp40_high_performance.txt (contents, props changed)
- copied, changed from rev 1404, pypy/trunk/doc/funding/B6.wp30_compiler.txt
pypy/trunk/doc/funding/B6.wp50_validations.txt (contents, props changed)
- copied, changed from rev 1404, pypy/trunk/doc/funding/B6.wp30_compiler.txt
Modified:
pypy/trunk/doc/funding/B6.1_plan_introduction.txt
pypy/trunk/doc/funding/B6.4_workpackage_list.txt
pypy/trunk/doc/funding/crossreferences.asc
Log:
various changes, new WPs (on top of existing ones),
just a few left.
Tried to get more structure into the introduction.
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 23 02:18:34 2003
@@ -147,7 +147,7 @@
parts can be directly re-used from CPython.
-High-performance PyPy-Python
+WP40_: High-performance PyPy-Python
-----------------------------------
The goal is to optimize Bootstrapping in possibly various ways,
@@ -159,81 +159,85 @@
executed directly, but goes though a code generator which
produces the actual machine code. This layer is highly configurable.
+Integration of Existing Technology
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ There are existing projects, notably Psyco_ and Stackless_,
+ which have been traditionally dependent on closely
+ following CPython's code base.
+
+ Both will be rewritten as a meta-component that hooks into the
+ translator plus a dedicated run-time component (WP33_).
+
+ As a side effect, after successful completion of the
+ PyPy project, they no longer need to exist as stand-alone
+ projects.
+
+
+WP41_: Integration of _`Stackless`
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Stackless Python has implemented high speed multitasking in
+ a single thread for C Python in two different ways:
+ Continuation passing and stack switching. Both ways of
+ task switching can be integrated into PyPy. Furthermore,
+ pickling of running programs has been implemented in
+ Stackless Python and should enable PyPy for load-balancing
+ between different machines.
+
WP42_: Several Object Implementations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Since the standard object space allows coexistence of different
-implementations of the same type, we can develop
-**several object implementations** .
-We will develop heuristics to switch between different
-implementations during execution.
-The goal is to study the efficiency of different approaches,
-with the possibility to change the default implementation
-if favor of a different one, not known in CPython.
-Some object layouts will further exist in parallel, if their
-efficiency is highly application dependant..
+ Since the standard object space allows coexistence of different
+ implementations of the same type, we can develop
+ **several object implementations** .
+ We will develop heuristics to switch between different
+ implementations during execution.
+ The goal is to study the efficiency of different approaches,
+ with the possibility to change the default implementation
+ if favor of a different one, not known in CPython.
+ Some object layouts will further exist in parallel, if their
+ efficiency is highly application dependant..
WP43_: Translator Optimisations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-It should be identified, which **optimisations** would benefit
-from support from the translator. These are the optimisations
-not easily available to CPython because they would require
-large-scale code rewrites.
-This includes design-considerations including the decision whether
-to use reference counting together with garbage collection,
-or whether to go for garbage collection, only.
-
-The meta-programming underlying WP43_
--- 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 optimisation.
-There will be at least two efforts at the same time:
-
-- optimisation towards maximum performance of an integrated PyPy system
+ It should be identified, which **optimisations** would benefit
+ from support from the translator. These are the optimisations
+ not easily available to CPython because they would require
+ large-scale code rewrites.
+ This includes design-considerations including the decision whether
+ to use reference counting together with garbage collection,
+ or whether to go for garbage collection, only.
+
+ The meta-programming underlying WP43_
+ -- 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 optimisation.
+ There will be at least two efforts at the same time:
+
+ - optimisation towards maximum performance of an integrated PyPy system
+
+ - optimisation towards minimal code size for embedded systems.
+
-- optimisation towards minimal code size for embedded systems.
-
-
-Integration of Existing Technology
------------------------------------
-
-There are existing projects, notably Psyco and Stackless,
-which have been traditionally dependent on closely
-following CPython's code base.
-
-Both will be rewritten as a meta-component that hooks into the
-translator plus a dedicated run-time component (WP33_).
-
-As a side effect, after successful completion of the
-PyPy project, they no longer need to exist as stand-alone
-projects.
-
-WP44_: Integration of Psyco
+WP44_: Integration of _`Psyco`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Psyco provides techniques to increase the performance of C
-Python by generating specialized machine code at run-time.
-Developing C Psyco has proved that more flexibility would be of
-paramount importance to the project. All prior knowledge of the
-Psyco project will thus be integrated into PyPy, as Python and
-RPython code, enabling yet more efficient optimisations and
-allowing new processor architectures to be targeted.
-
-WP41_: Integration of Stackless
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Stackless Python has implemented high speed multitasking in
-a single thread for C Python in two different ways:
-Continuation passing and stack switching. Both ways of
-task switching can be integrated into PyPy. Furthermore,
-pickling of running programs has been implemented in
-Stackless Python and should enable PyPy for load-balancing
-between different machines.
+ Psyco provides techniques to increase the performance of C
+ Python by generating specialized machine code at run-time.
+ Developing C Psyco has proved that more flexibility would be of
+ paramount importance to the project. All prior knowledge of the
+ Psyco project will thus be integrated into PyPy, as Python and
+ RPython code, enabling yet more efficient optimisations and
+ allowing new processor architectures to be targeted.
+
+WP50_: Validation of PyPy
+---------------------------
Supporting Embedded Devices
-------------------------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Embedded devices are often limited in processor speed and
memory size, which either limits the power of software that
@@ -247,27 +251,36 @@
WP51_: Porting PyPy to an Embedded Device
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Dependant from the actual processor architecture, PyPy's
-code generator needs an extra platform specific support
-module. Interfaces to necessary device drivers are needed
-as well as it makes sense to develop a PyPy simulator for
-the target platform.
-
+ Dependant from the actual processor architecture, PyPy's
+ code generator needs an extra platform specific support
+ module. Interfaces to necessary device drivers are needed
+ as well as it makes sense to develop a PyPy simulator for
+ the target platform.
+
+WP52_: Evaluation whether to do a small OS in PyPy
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ Implementing a small operating system in PyPy raises
+ some new questions and opens a new category of problems.
+ One of them is the possible need to write an IP stack
+ in PyPy, and a number of device drivers as well.
+ In this short task, we will figure out whether it is
+ feasible to carry on with the next task.
WP53_: A small Operating System for an Embedded Device
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-*we are thinking of a printer here, but don't have facts yet*
-
-In extent to WP51_, it makes sense to write the whole
-operating system in PyPy. We need a low-level extension
-to the code generator that allows to access I/O ports.
-Interrupts need to be supported as well, and primitive
-access to persistant storage.
-Ideally, we can create a single threaded PyPy OS with
-a prioritized scheduler that runs the OS parts together
-with multiple Python application. The latter depends on
-WP41_ very much.
+ *we are thinking of a printer here, but don't have facts yet*
+
+ In extent to WP51_, it makes sense to write the whole
+ operating system in PyPy. We need a low-level extension
+ to the code generator that allows to access I/O ports.
+ Interrupts need to be supported as well, and primitive
+ access to persistant storage.
+ Ideally, we can create a single threaded PyPy OS with
+ a prioritized scheduler that runs the OS parts together
+ with multiple Python application. The latter depends on
+ WP41_ very much.
Numerical Applications
@@ -344,4 +357,4 @@
do look for existing solutions which allow to automate this
effort at least partially.
-WP54_ WP55_ WP56_ WP10_ WP60_ WP70_ WP80_
+WP54_ WP55_ WP56_
Modified: pypy/trunk/doc/funding/B6.4_workpackage_list.txt
==============================================================================
--- pypy/trunk/doc/funding/B6.4_workpackage_list.txt (original)
+++ pypy/trunk/doc/funding/B6.4_workpackage_list.txt Tue Sep 23 02:18:34 2003
@@ -21,7 +21,7 @@
----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP22_ Translation of CPython into regular Python 12
----- ----------------------------------------------------- ----- ---- ---- ---- ----
-WP20_ The PyPy Compiler
+WP30_ The PyPy Compiler
----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP31_ Translation of RPython 8
----- ----------------------------------------------------- ----- ---- ---- ---- ----
@@ -29,6 +29,8 @@
----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP33_ Low Level PyPy Runtime 6
----- ----------------------------------------------------- ----- ---- ---- ---- ----
+WP40_ High-performance PyPy-Python
+----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP41_ Integration of Stackless 9
----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP42_ Several Object Implementations 12
@@ -37,6 +39,8 @@
----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP44_ Integration of Psyco 12
----- ----------------------------------------------------- ----- ---- ---- ---- ----
+WP50_ Validation of PyPy
+----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP51_ Porting PyPy to an Embedded Device 9
----- ----------------------------------------------------- ----- ---- ---- ---- ----
WP52_ Evaluation whether to do a small OS in PyPy 3
Copied: pypy/trunk/doc/funding/B6.wp40_high_performance.txt (from rev 1404, pypy/trunk/doc/funding/B6.wp30_compiler.txt)
==============================================================================
--- pypy/trunk/doc/funding/B6.wp30_compiler.txt (original)
+++ pypy/trunk/doc/funding/B6.wp40_high_performance.txt Tue Sep 23 02:18:34 2003
@@ -1,7 +1,7 @@
.. include:: crossreferences.asc
-.. |title| replace:: The PyPy Compiler
-.. |wp| replace:: WP30
+.. |title| replace:: High-performance PyPy-Python
+.. |wp| replace:: M2
.. |start| replace:: 0
.. |p1| replace:: |e|
.. |m1| replace:: |e|
@@ -22,14 +22,18 @@
**Objectives**
-Building the translator and Bootstrapping PyPy.
+Optimizing the Bootstrapping in various ways.
+
+Exploring several Object Implementations.
+
+Folding Psyco and Stackless into PyPy.
.. include:: wp-tableend.asc
.. include:: wp-tablebegin.asc
**Description of work**
-This working package consists of the tasks WP31_ WP32_ WP33_.
+This working package consists of the tasks WP41_ WP42_ WP43_ WP44_.
.. include:: wp-tableend.asc
.. include:: wp-tablebegin.asc
@@ -41,6 +45,6 @@
**Milestones and Expected Result**
-- M2
+- M4
.. include:: wp-tableend.asc
Copied: pypy/trunk/doc/funding/B6.wp50_validations.txt (from rev 1404, pypy/trunk/doc/funding/B6.wp30_compiler.txt)
==============================================================================
--- pypy/trunk/doc/funding/B6.wp30_compiler.txt (original)
+++ pypy/trunk/doc/funding/B6.wp50_validations.txt Tue Sep 23 02:18:34 2003
@@ -1,8 +1,8 @@
.. include:: crossreferences.asc
-.. |title| replace:: The PyPy Compiler
-.. |wp| replace:: WP30
-.. |start| replace:: 0
+.. |title| replace:: Validation of PyPy
+.. |wp| replace:: WP50
+.. |start| replace:: M4/M3
.. |p1| replace:: |e|
.. |m1| replace:: |e|
.. |p2| replace:: |e|
@@ -22,14 +22,16 @@
**Objectives**
-Building the translator and Bootstrapping PyPy.
+Validation of the PyPy concept by proving its applicability
+in real applications.
.. include:: wp-tableend.asc
.. include:: wp-tablebegin.asc
**Description of work**
-This working package consists of the tasks WP31_ WP32_ WP33_.
+This working package consists of the tasks WP51_ WP52_ WP53_ WP54_ WP55_ WP56_
+or a subset thereof, dependent of feasability.
.. include:: wp-tableend.asc
.. include:: wp-tablebegin.asc
@@ -41,6 +43,6 @@
**Milestones and Expected Result**
-- M2
+- M6 M7 M8 M9
.. include:: wp-tableend.asc
Modified: pypy/trunk/doc/funding/crossreferences.asc
==============================================================================
--- pypy/trunk/doc/funding/crossreferences.asc (original)
+++ pypy/trunk/doc/funding/crossreferences.asc Tue Sep 23 02:18:34 2003
@@ -1,16 +1,17 @@
.. _WP10: B6.wp10_management.html
-.. _WP18:
-.. _WP20:
+.. _WP20: B6.wp20_interpreter.html
.. _WP21: B6.wp21_interpreter_completion.html
.. _WP22: B6.wp22_cpython_to_python.html
-.. _WP30:
+.. _WP30: B6.wp30_compiler.html
.. _WP31: B6.wp31_translation_of_rpython.html
.. _WP32: B6.wp32_bootstrap_redesign.html
.. _WP33: B6.wp33_bootstrap_runtime.html
+.. _WP40: B6.wp40_high_performance.html
.. _WP41: B6.wp41_integrate_stackless.html
.. _WP42: B6.wp42_several_obj_impl.html
.. _WP43: B6.wp43_translator_optimisations.html
.. _WP44: B6.wp44_integrate_psyco.html
+.. _WP50: B6.wp50_validations.html
.. _WP51: B6.wp51_embedded_device.html
.. _WP52: B6.wp52_small_os_pre.html
.. _WP53: B6.wp53_small_os.html
@@ -20,6 +21,6 @@
.. _WP60:
.. _WP70:
.. _WP80:
-.. attention:: **9 files missing: WP18 WP20 WP30 WP54 WP55 WP56 WP60 WP70 WP80**
+.. attention:: **6 files missing: WP54 WP55 WP56 WP60 WP70 WP80**
.. |e| unicode:: 0x20 .. doesn't work with plain spaces
\ No newline at end of file
More information about the Pypy-commit
mailing list