Fast array exchange between python and C++

Alex Martelli aleax at
Wed Jan 23 08:36:24 EST 2002

"Ja'zz" <ja at> wrote in message news:84adv5s5sv.fsf at
> What is the recommended way to transfer arrays of numerical data from
> python to a C/C++ library and vise-versa? My current approach is to
> define the array in a C++ class, write put and get methods with indexes
> and use SWIG (-shadow) to access the methods in python. It works but
> creates loads of overhead.
> However, at this point, efficiency becomes a vital concern. How to I
> exchange an array of simple datatypes (doubles, integers and strings),
> such that they are read/write at both sides, with a minimum of overhead?

Look at module array in the standard Python library.  It has
facilities for low-level access as well as being quite usable
from Python, as long as one-dimensional array of simple types
are indeed all you need.

If you need more than that, look at the Numeric extensions:
they define very powerful array facilities AND a C-level API.


More information about the Python-list mailing list