Jim Fulton wrote at 2006-10-5 08:46 -0400:
> ...
>    I'll note that, as a guiding principle, any refactoring we do
>    should allow pure-python implementation. This means that APIs
>    need to be Python APIs, although we should consider efficient
>    C implementations when designing these APIs.

I would do it as I have done it for "IncrementalSearch2":

   The primary interface is a C-level interface (for efficiency reasons)
   but a special base class bridges between C-level and Python-level.

   In the concrete example, "persitent" would call C-functions
   and a C-implementation would just provide these C-functions.

   A special Cache base class, too, would implement the C-level
   API and redirect to Python level methods.
   Any Python Cache implementation would derive from this class
   and override methods as necessary.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to