delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/09/11/23:59:27

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
From: Tatsuro MATSUOKA <matsuoka AT mol DOT nagoya-u DOT ac DOT jp>
To: Eric Blake <ebb9 AT byu DOT net>
Cc: cygwin AT cygwin DOT com, matsuoka AT nuce DOT nagoya-u DOT ac DOT jp
Date: Wed, 12 Sep 2007 12:58:53 +0900
Subject: Re: gcc-dw2? or fast sjlj-exceptions EH
Reply-To: matsuoka AT nuce DOT nagoya-u DOT ac DOT jp
In-Reply-To: <46E732EC.2080400@byu.net>
References: <20070912054905 DOT 177F7D98 DOT matsuoka AT mol DOT nagoya-u DOT ac DOT jp> <46E732EC DOT 2080400 AT byu DOT net>
Message-Id: <20070912125853.78CF07C0.matsuoka@mol.nagoya-u.ac.jp>
MIME-Version: 1.0
X-Mailer: nPOP Ver 1.0.9
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Dear Eric

>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.

At previous mail time I felt that I understood the everything.
However, I cannot understand the sjlj-exception was adopted in the 
cygwin gcc and mingw gcc of the current version.   However the speed 
of mingw binary is much faster  than that of the cygwin.  Sometimes 
the slowness of cygwin octave 2.1.73 were different when version of 
cygwin1.dll were changed.  (I could not remember correctly. But the 
difference might be 30-40% for LSODE solving speed.) 

Why were the slowness depneds on the  cygwin1.dll?
Why does the sjlj-EH on the mingw not cause such slowness?

I cannot understant at this point.
Perhaps this is lack of my correct knowledge.
If you donot mind, it will be grateful fo me you to explain again 
more comrehensively for the mere user like me.

Tatsuro MATSUOKA


Tatsuro MATSUOKA 

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019