[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