[Numpy-discussion] fast putmask implementation

Eric Firing efiring at hawaii.edu
Thu Aug 16 22:39:02 EDT 2007

David Cournapeau wrote:
> On 8/17/07, Eric Firing <efiring at hawaii.edu> wrote:
>> In looking at maskedarray performance, I found that the filled()
>> function or method is a bottleneck.  I think it can be sped up by using
>> putmask instead of indexed assignment, but I found that putmask itself
>> is slower than it needs to be.  So I followed David Cournapeau's example
>> of fastclip and made a similar fastputmask.  The diff relative to
>> current svn (3967) is attached.
> Great ! putmask was actually the function I wanted to improve after
> clip, because it is the second bottleneck for matplotlib imagesc :) I
> would not be suprised if now imagesc has descent speed compared to
> matlab.
>> I hope someone will take a look and either tell me what I need to fix or
>> commit it as-is.
> It looks like there are a lot of spurious diff in you patch (space vs
> tab, or endline problems ?). Could you regenerate a patch without
> them, since half of the patch is "garbage" ? It would be much easier
> to see the changes you actually made.

Agreed.  This is because my editor deletes spurious whitespace that was 
already in the file.  If I ruled the world, the spurious whitespace and 
hard tabs would never be there in the first place. (If I were younger I 
might use smileys in places like this, but they just don't come 
naturally to me.) As far as I can see there is no way of using svn diff 
to deal with this automatically, so in the attached revision I have 
manually removed chunks resulting solely from whitespace.  Some of the 
remaining chunks unfortunately have a mixture of whitespace and 
substantive differences.  And manually removing chunks is risky.

Is there a better way to handle this problem?  A better way to make 
diffs?  Or any possibility of routinely cleaning the junk out of the svn 
source files?  (Yes, I know--what is junk to me probably results from 
what others consider good behavior of the editor.)


> cheers,
> David
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion

-------------- next part --------------
A non-text attachment was scrubbed...
Name: numpy_putmask.diff
Type: text/x-patch
Size: 8716 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20070816/712f5b9f/attachment.bin>

More information about the NumPy-Discussion mailing list