X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org From: Tatsuro MATSUOKA To: Eric Blake Cc: cygwin AT cygwin DOT com, matsuoka AT nuce DOT nagoya-u DOT ac DOT jp Date: Wed, 12 Sep 2007 11:29:57 +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: <20070912112957.BB0EAB88.matsuoka@mol.nagoya-u.ac.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Mailer: nPOP Ver 1.0.9 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com 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 Tasturo 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/