[SciPy-dev] Inclusion of cython code in scipy

Francesc Altet faltet at carabos.com
Thu Apr 24 12:25:00 EDT 2008


A Thursday 24 April 2008, Brian Granger escrigué:
> > Then why not start a project to get SWIG to do away with the shadow
> > module?
>
> I don't have a passion for actually working seriously on these
> projects - I am lazy and simply want to use them :)
>
> >  Lets take a simple case of someone wanting to handle a growing
> >  collection of say a million particles and do something to them. 
> > How do you do that in cython/pyrex and get the performance of C and
> > interface to numpy?  Worse, even if it were possible, you'll still
> > need to know something about allocating memory in C and
> > manipulating pointers.  I can do that with C++ and SWIG today.
>
> C++ STL containers are truly great for things like this.  I would
> write a simple c++ header file that defines the Particle class,
> create an std::vector<Particle> to hold them and wrap the whole thing
> into Cython.  I have already done stuff like this (templated c++ with
> STL) with cython and it works great.  Furthermore, you end up with an
> actual C/Python extension type that 1) is super fast 2) has its own C
> api that can be called from other C extensions.
>
> Sure SWIG can do this too.  If you don't mind the extra pure python
> layer that SWIG has, then it is really a matter of personal
> preference and experience.  But, if performance is really important
> and you don't want the extra python layer, SWIG doesn't cut it.  The
> one place where Cython does not do well with C++ code currently is if
> you have a very large C++ API (100s of classes).  Then SWIG is the
> way to go.

Can you develop a bit more in detail why Cython should not be adequate 
for wrapping 100s of C++ classes?  Just curious.

Thanks,

-- 
>0,0<   Francesc Altet     http://www.carabos.com/
V   V   Cárabos Coop. V.   Enjoy Data
 "-"



More information about the SciPy-Dev mailing list