Author: Matti Picus <matti.pi...@gmail.com>
Branch: 
Changeset: r95450:00010b268b1f
Date: 2018-12-11 14:57 +0200
http://bitbucket.org/pypy/pypy/changeset/00010b268b1f/

Log:    add more ideas, cleanup duplicate TOC references to architecture

diff --git a/pypy/doc/architecture.rst b/pypy/doc/architecture.rst
--- a/pypy/doc/architecture.rst
+++ b/pypy/doc/architecture.rst
@@ -4,7 +4,7 @@
 .. contents::
 
 This document gives an overview of the goals and architecture of PyPy. If 
you're
-interested in :ref:`using PyPy <using-pypy>` or :ref:`hacking on it 
<developing-pypy>`,
+interested in :ref:`using PyPy <using-pypy>` or hacking on it,
 have a look at our :ref:`getting started <getting-started-index>` section.
 
 
diff --git a/pypy/doc/index.rst b/pypy/doc/index.rst
--- a/pypy/doc/index.rst
+++ b/pypy/doc/index.rst
@@ -29,6 +29,7 @@
   :maxdepth: 1
 
   introduction
+  architecture
   install
   build
   windows
@@ -59,7 +60,6 @@
   :maxdepth: 2
 
   contributing
-  architecture
   configuration
   project-ideas
   project-documentation
diff --git a/pypy/doc/project-documentation.rst 
b/pypy/doc/project-documentation.rst
--- a/pypy/doc/project-documentation.rst
+++ b/pypy/doc/project-documentation.rst
@@ -28,7 +28,6 @@
 .. toctree::
    :hidden:
 
-   architecture
    coding-guide
    sprint-reports
    extradoc
diff --git a/pypy/doc/project-ideas.rst b/pypy/doc/project-ideas.rst
--- a/pypy/doc/project-ideas.rst
+++ b/pypy/doc/project-ideas.rst
@@ -111,9 +111,12 @@
 --------------
 
 Our cpyext C-API compatiblity layer can now run upstream NumPy unmodified.
-Release PyPy2.7-v5.4 still fails about 60 of the ~6000 test in the NumPy
-test suite. We could use help analyzing the failures and fixing them either
-as patches to upstream NumPy, or as fixes to PyPy.
+Release PyPy2.7-v6.0 still fails about 10 of the ~6000 test in the NumPy
+test suite. We need to improve our ctypes structure -> memoryview conversions_,
+and to refactor the way `NumPy adds docstrings`_.
+
+.. _conversions: https://bitbucket.org/pypy/pypy/issues/2930 
+.. _`NumPy adds docstrings`: https://github.com/numpy/numpy/issues/10167
 
 We also are looking for help in how to hijack NumPy dtype conversion and
 ufunc calls to allow the JIT to make them fast, using our internal _numpypy
@@ -165,8 +168,33 @@
 
 Or maybe not.  We can also play around with the idea of using a single
 representation: as a byte string in utf-8.  (This idea needs some extra logic
-for efficient indexing, like a cache.)
+for efficient indexing, like a cache.) Work has begun on the ``unicode-utf``
+and ``unicode-utf8-py3`` branches. More is needed, for instance there are
+SIMD optimizations that are not yet used.
 
+Convert RPython to Python3
+--------------------------
+
+The world is moving on, we should too.
+
+Improve performance
+-------------------
+
+* Make uninlined Python-level calls faster
+* Switch to a `sea-of-nodes`_ IR, or a `Lua-Jit`_-like IR which iterates on
+  on the sea-of-nodes approach
+* Use real register-allocation
+* Improve instruction selection / scheduling 
+* Create a hybrid tracing/method JIT
+
+.. _`sea-of-nodes`: https://darksi.de/d.sea-of-nodes/
+.. _`Lua-JIT`: http://wiki.luajit.org/SSA-IR-2.0
+
+Improve warmup
+--------------
+* Interpreter speed-ups
+* Optimize while tracing
+* Cache information between runs
 
 Translation Toolchain
 ---------------------
@@ -234,6 +262,27 @@
 .. _runner: http://speed.pypy.org
 .. _`CPython site`: https://speed.python.org/
 
+
+Interfacing with C
+------------------
+
+While we could make ``cpyext`` faster_, we would also like to explore other
+ideas. It seems cffi is only appropriate for small to medium-sized extensions,
+and it is hard to imagine NumPy abandoning the C-API. Here are a few ideas:
+* Extend Cython to have a backend that can be understood by the JIT
+* Collaborate with C-extension authors to ensure full PyPy support (see below)
+* Put PyPy compatible packages on PyPI and in conda
+
+
+.. _faster: https://morepypy.blogspot.com/2018/09#next-steps
+
+Support more platforms
+----------------------
+
+We have a plan for a `Windows 64`_ port.
+
+.. _`Windows 64`: windows.html#what-is-missing-for-a-full-64-bit-translation
+
 ======================================
 Make more python modules pypy-friendly
 ======================================
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to