[SciPy-dev] mingw2.0 (gcc 3.2) troubles with weave
eric at enthought.com
Thu Sep 19 02:04:58 CDT 2002
Travis V. saw that the new mingw tool set with gcc 3.2 was out for MS
windows, so I tried it out with weave. The results aren't that great.
The biggest problem is that exception handling is causing seg faults.
Dag. This junk again. Exceptions must be really tricky to get
right/compatible-with-other-compilers in C++ because it seems to cause
weave the most grief. I'm not sure at the moment if it is because I am
using an MSVC compiled version of python and then loading gcc 3.2
compiled modules into it, or if it is a more general problem with
mingw2.0's exception handling. I will need to compile a mingw version
of python to find out (not done and maybe not worth it since 2.95.3
works). The other thing that might be an issue is the dllwrap linker
flags in weave.
The good news is that blitz is now compatible with gcc3.2. The bad news
is, with the current compiler settings, it compiles slower and produces
slower code than 2.95.3. Add that 2.95.3 doesn't have the problem with
exceptions, and the picture ain't so purty.
Here are the timings for gcc 2.95.3 on a median filter for float32:
Compile time (sec) 11.8870
Exec time(sec): 0.0800
And gcc 3.2
Compile time (sec): 18.1960
Exec time: 0.0900
While the exec time is not really long enough to be reliable, it has
been consistent across runs.
Dog. And the night started out so promising...
Oh, I would like to here if anyone gets a chance to test the most recent
weave (from CVS) against gcc 3.x on Linux. And for other platforms, it
should just require a jiggering of the blitz-20001213/blitz/config.h
file to reflect your platform (cut and paste from the
config-<your-platform>.h file in the same directory).
More information about the Scipy-dev