[Numpy-discussion] idea of optimisation?
david.froger at gmail.com
Tue Dec 6 03:54:03 EST 2011
Excerpts from Xavier Barthelemy's message of mar. déc. 06 08:51:22 +0100 2011:
> ok let me be more precise
> I have an Z array which is the elevation
> from this I extract a discrete array of Zero Crossing, and another discrete
> array of Crests.
> len(crest) is different than len(Xzeros). I have a threshold method to
> detect my "valid" crests, and sometimes there are 2 crests between two
> zero-crossing (grouping effect)
> Crest and Zeros are 2 different arrays, with positions. example:
> Zeros=[1,2,3,4] Arrays=[1.5,1.7,3.5]
Thanks for the precision. My suggestion was to consider the alternative of
rewriting the critical time consuming part of the code (the function that take
XCrest and Xzeros as input and return CrestZerosNeighbour) in C or Fortran, this
function si then wrapped into Python using Swig, or F2py, or Cython, or Weave.
I think this is a typical case where this is usefull. Advantage is that in the
C or Fortran function, you can code directly the algorithm you want and have an
maximal optimization. Drawback is that you loose the simplicity of pure Python,
you need to manage 2 languages and a tool to connect them...
More information about the NumPy-Discussion