X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org From: Tatsuro MATSUOKA To: "John W. Eaton" , dannysmith AT clear DOT net DOT nz Cc: matsuoka AT nuce DOT nagoya-u DOT ac DOT jp, cygwin AT cygwin DOT com Date: Wed, 12 Sep 2007 05:49:05 +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: <18150.45851.316538.375920@segfault.lan> References: <000001c7f3f6$e64897d0$276d65da AT THOMAS> <18150 DOT 45851 DOT 316538 DOT 375920 AT segfault DOT lan> Message-Id: <20070912054905.177F7D98.matsuoka@mol.nagoya-u.ac.jp> MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-2022-JP" 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 "John W. Eaton" wrote: (2007/09/12 00:24) | At http://www.cygwin.com/ml/cygwin/2007-09/msg00194.html | | Tatsuro Matsuoka wrote: | | > The best solution, I think, the speed of sjlj-exceptions EH on the | > cygwin is as fast as that of other platforms. | > | | In the case of octave, I believe that the main cause of slowdown is the | sjlj EH code generated in prologue of new() | Does a no-throw override of libary version of these functions help ? >Octave does not set up a new handler because it expects that a failed >allocation will throw a std::bad_alloc exception. Given that, it >seems that the replacement for operator new that you posted would >cause Octave to crash on a failed allocation, and that's not an >acceptable solution for an interactive system like Octave. > >If we did install a new handler, could it throw a std::bad_alloc >exception and still avoid the performance problem? I don't see how, >as it seems that would just be pushing the problem one function call >level deeper but without any real change in the way things work. > >It's also not acceptable to install a new handler that doesn't throw >an exception but just does a longjmp because then all the nice cleanup >things that are supposed to happen with exception handling are >bypassed when recovering from the failed allocation. ********************************** Dear Prof. John W. Eaton Thank you for your reply. I cannot entirely understand your reply due to my limited knowledge. It seems to be difficult to solve the problem by the Danny's suggestion. My question is whether other possibilities to get fast sjlj-exception EH in the cygwin. If there is no way to get the fast sjlj-exception EH, is it possible to handle the 'gcc-dw2'? I know there is 'gcc-dw2' for 4.2.1 version of gcc in the mingw. However I think the situation on the mingw and that on the cygwin is not the same. In the cygwin, the good install manager that well treats total environments are established but in the mingw there is no such complete system. If we would get the development environment, what I have to do is to select 'install' in the development category while in the mingw we have to install the msys, msysDTK and other tools required. In the mingw, because the smart system does not exist, it is good that there are many selections. While for the cygwin, the environmental system is totally arranged, the parallel existence of the compiler should be treated with the great care to avoid the confusion. I can prepare the package of the 'gcc-dw2' if it will be allowed because I have already the gcc with the dwarf2 EH. However it must be done after the discussions on this matter. I think there will be the case that the 'gcc-dw2’ will be rejected to place in the cygwin packaging system. In that case, my purchase for the fast octave on the cygwin should be keep the trail and place the packages within the personal trial. Thank you again here to Danny and jwe to reply the my comments. Sincerely yours, 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/