[Python-Dev] Python-Dev digest, Vol 1 #737 - 17 msgs

David M. Beazley beazley@schlitz.cs.uchicago.edu
Wed, 9 Aug 2000 17:34:16 -0500 (CDT)


python-dev-request@python.org writes:
 > 
 > I'd like to get the necessary C extension in before 2.0 freeze, if
 > possible.  I've copied its author.  Again, the motivation here is to make
 > shelving transactional, with useful read-many/write-once guarantees.
 > Thousands of CGI programmers would thank us for this.
 > 
 > When we last discussed this subject, there was general support for the
 > functionality, but a couple of people went "bletch!" about SWIG-generated
 > code (there was unhappiness about pointers being treated as strings).
 > 
 > Somebody said something about having SWIG patches to address this.  Is this
 > the only real issue with SWIG-generated code?  If so, we can pursue
 > two paths:

Well, as the guilty party on the SWIG front, I can say that the
current development version of SWIG is using CObjects instead of
strings (well, actually I lie---you have to compile the wrappers with
-DSWIG_COBJECT_TYPES to turn that feature on).  Just as a general
aside on this topic, I did a number of experiments comparing the
performance of using CObjects vs.the gross string-pointer hack about 6
months ago.  Strangely enough, there was virtually no-difference in
runtime performance and if recall correctly, the string hack might
have even been just a little bit faster. Go figure :-).

Overall, the main difference between SWIG1.3 and SWIG1.1 is in runtime 
performance of the wrappers as well as various changes to reduce the
amount of wrapper code.   However, 1.3 is also very much an alpha release
right now---if you're going to use that, make sure you thoroughly test 
everything.

On the subject of the Berkeley DB module, I would definitely like to 
see a module for this.  If there is anything I can do to either modify
the behavior of SWIG or to build an extension module by hand, let me know.

Cheers,

Dave