gcc-dw2? or fast sjlj-exceptions EH

Tatsuro MATSUOKA matsuoka@mol.nagoya-u.ac.jp
Wed Sep 12 02:30:00 GMT 2007

Eric Blake <ebb9@byu.net> wrote:
(2007/09/12 09:29)

>I think you are misunderstanding a fundamental concept.  sjlj exception
>handling is inherently slower than stack-tracing exception handling,
>because it must assume the worst and store the entire stack state (the
>'sj' or setjump) prior to any call site where an exception might occur,
>whether or not an exception actually happens (the 'lj' or longjump part).
> Dwarf error handling, on the other hand, is a form of stack-tracing,
>where there is NO penalty UNLESS there was an exception.  Exception
>handling is slower, because it must crawl backwards through the stack to
>find all catch points with handlers to run, but more efficient when there
>is no exception because you don't waste time saving state that never gets
>jumped to.
>In other words, the ONLY way to speed up octave is to avoid sjlj
>exceptions.  And there are two ways to do that - either switch to
>stack-based exceptions (such as dwarf), or avoid exceptions to begin with.
> The octave maintainer has already expressed a reluctance to disable
>exceptions, and the current gcc for cygwin, 3.4.4, doesn't have a way to
>use anything other than sjlj, so you will just have to wait.

Dear Eric Blake 
I really appreciate for your comprehensible reply.
I'll wait for a while.

Sincerely yours


Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list