This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc-dw2? or fast sjlj-exceptions EH

Eric Blake <> 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:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]