|
From: | Paul Kienzle |
Subject: | Re: Successful compilation with MinGW |
Date: | Tue, 10 Jan 2006 08:28:48 -0500 |
On Jan 10, 2006, at 5:57 AM, David Bateman wrote:
John Swensen wrote: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.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 theexception handling is fairly confined as to where exceptions are thrownand caught. Would it be an option to somehow implement a "custom" exception handler and avoid C++ exceptions altogether? John
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
[Prev in Thread] | Current Thread | [Next in Thread] |