From maintainers-request at octave dot org Tue Jan 10 07:30:07 2006 Subject: Re: Successful compilation with MinGW From: Paul Kienzle To: octave maintainers mailing list Date: Tue, 10 Jan 2006 08:28:48 -0500 On Jan 10, 2006, at 5:57 AM, David Bateman wrote: > John Swensen wrote: > >> John W. Eaton wrote: >> > On 9-Jan-2006, David Bateman wrote: >> > >> > | So if you want a version of octave under windows that won't be >> > | embrassing slow on for-loops in particular you need mingw... >> > >> > Or you need to use dwarf exception handling with Cygwin, or you need >> > someone to find out what is causing the performance problem with >> sjlj >> > exception handling and fix that problem. >> > >> > jwe >> > >> > >> > Maybe I am being a little naive about how deep the Octave exception >> handling is used, but from a pretty minimal glance it appears that the >> exception handling is fairly confined as to where exceptions are >> thrown >> and caught. Would it be an option to somehow implement a "custom" >> exception handler and avoid C++ exceptions altogether? >> >> John >> > The macro OCTAVE_QUIT occurs all over the Octave code to handle the > user hitting ctrl-c deep in a calculation. So you have the posibility > of having an exception at every occurence of this macro deep within > the inner loops of the calculations. This means that all the memory > that it allocated in this calculation needs to be properly > deallocated. The C++ exception handler does this for us, so replacing > it with something else is a major task as we'd need to do our own > memory management, or write a garbage collector. > Here is a message from March 2004 about the topic. It compares the speed of malloc to new: http://www.octave.org/octave-lists/archive/octave-maintainers.2004/ msg00358.html We might also try std::vector since IIRC it uses malloc internally. - Paul