[SciPy-dev] Bugfix for weave's catalog.

Fernando Perez Fernando.Perez at colorado.edu
Fri Jun 17 01:32:15 CDT 2005


John Hunter wrote:
>>>>>>"Fernando" == Fernando Perez <Fernando.Perez at colorado.edu> writes:
> 
> 
>     Fernando> Actually, I just checked and that stuff never made it to
>     Fernando> SVN, so I don't have it.  Could you either commit it or
>     Fernando> mail it to me so I can test and see if my fix also works
>     Fernando> for your code?
> 
> Here is the script that shows the bug.  It is designed to compare the
> performance of weave blitz versus numeric for repeated adds of a 2D
> array
> 
>   x + x
>   x + x + x
>   x + x + x + x   ....and so on
> 
> On the second iteration through the loop (x+x+x), it issues a
> "repairing catalog by removing key" and recompiles the extensions --
> it doesn't do this for any other of the repeated add lines in this
> loop.  This happens repeatedly if you rerun the script, so the cache
> is being ignored.  Unfortunately, I only see this on my G4 powerbook
> and not on my linux box, so it might be hard for others to use as a
> test script.

OK, I just tested this with my linux box, and I can both see the problem under 
the old weave, and have it fixed with the new one.  So we're in good shape.

However, I'm swamped with work and other things, so it may take me some time 
(probably until next week) until I can commit all this with proper unit 
testing.  I need to figure out how to fold the compilation failure into a 
lower-level unit test, since by default weave absorbs the failure almost 
silently.  You see it failed because there is a slowdown, but no exceptions 
are raised.

So getting this unit-tested properly will take a bit of work: if anyone can 
help me with that, I'd be grateful.  I've already sunk a ton of time into just 
getting the bug tracked down and fixed.  If someone offers to help, I'll 
commit the bugfixes (they touch multiple files), and then I'll rely on someone 
else to write the proper unit test (keep in mind, it has to fail only on 
_second_ execution, and you need to clean up the default catalog, etc; it's 
not a totally easy unit test to write).

Cheers,

f




More information about the Scipy-dev mailing list