[pypy-dev] Extended goals

Jeremy Hylton jeremy at zope.com
Wed Sep 24 15:46:06 MEST 2003


On Wed, 2003-09-24 at 02:41, holger krekel wrote:
> [Jeremy Hylton Tue, Sep 23, 2003 at 09:50:59PM -0400]
> > In fact, Zope3 started with all Python implements of ZODB.  A few parts
> > of it have been rewritten in C over time.  Performance is the main goal,
> > but another noteworthy reason to use C is to reduce memory usage.  Pure
> > Python objects consume a lot of memory.  C extension types can be fairly
> > small.  (datetime is a good example.)
> > 
> > Does pypy have a plan for memory or is performance the primary goal?
> 
> allowing to have a small memory footprint is certainly a goal. 
> PyPy aims to make it a lot easier to make decisions regarding
> space<->time tradeoffs. So Zope3 could e.g. use their own completely 
> compliant python interpreter optimized for memory consumption. 
> 
> Do the parts of Zope3 that got rewritten in C still have a complete
> python counterpart? Do the unit-tests run on both of them? 

ZODB4 has very little C code and most of it is also available in
Python.  There is a timestamp that was implemented in C from the get-go,
but it would be trivial to rewrite in Python.  The tests used to run
with only Python code, but no one has run the tests that way for a long
time.

I think Zope3 has more C code without a Python counterpart.  There are
several extensions that started in Python, migrated to C, then evolved. 
So I wouldn't expect Zope to be straightforward, but the ZODB kernel
should be.

Jeremy




More information about the pypy-dev mailing list