c++ code executes very slowly - sjlj EH to blame?

Adam McKee adam_m_mckee@yahoo.ca
Thu Dec 16 03:18:00 GMT 2004


Hi Larry,

Thanks for your reply.
About the messages you referred me to:

///////////////////////////////////////////////////////

http://www.cygwin.com/ml/cygwin/2004-11/msg00962.html

His situation is similar in terms of symptoms, but my
test program (that throws an exception and tries to
catch it) doesn't have any callbacks.

///////////////////////////////////////////////////////

http://www.cygwin.com/ml/cygwin/2004-11/msg01017.html

This message seems to be talking about DWARF2 debug
output.  Or does -gdwarf-2 have any effect on EH?

///////////////////////////////////////////////////////

My goal is to build gcc/g++ that use Dwarf2 EH.  A
compiler with working EH will be able to run my test
program without aborting.  So far I have built several
versions of gcc, all of which have the abort() EH,
which is equivalent to having _no_ EH in practical
terms.

Maybe Danny Smith has some thoughts about this, since
he has apparently been at least partially successful
in getting DWARF2 EH to work on cygwin.

Another question for anyone at all: any ideas why sjlj
is so crap-tastically slow on cygwin?  I can't believe
that sjlj EH has nearly such a huge hit on other
targets.  If sjlj it is the sole perpetrator of the
slowdown, then it is doing a very very effective job
of slowing things down.

Thanks again for your reply -- I've been really having
a _heck_ of a time with this, and I appreciate any
help very much.

-Adam

 --- Larry Hall
<lh-no-personal-replies-please@cygwin.com> wrote: 
> At 05:23 PM 12/15/2004, you wrote:
> >My app runs about 6 times faster on linux than
> cygwin,
> >even though it spends the bulk of its time doing
> pure
> >computation in user-space: strace shows a minimum
> of
> >system calls being made.  Profiling shows that the
> >culprit could be sjlj (set-jump/long-jump) EH.
> >
> >After googling around a bit, I found that other
> folks
> >seem to have had a similar experience...
> >
>
>http://www.google.ca/search?q=sjlj+cygwin+octave&start=0&start=0&ie=utf-8&oe=utf-8&client=firefox&rls=org.mozilla:en-US:unofficial
> >
> >Does anyone know how to build a gcc/g++ that use
> >DWARF2 EH, instead of ... what we might call
> "abort()"
> >EH?  I would very much like to try this out - to
> see
> >if it will bring performance of my app on cygwin
> out
> >of the toilet.
> >
> >Also - is it likely that cygwin will move away from
> >sjlj EH soon?  
> 
> 
> I'll let googling answer this question for you too.
> :-)
>
<http://www.google.com/search?as_q=g%2B%2B+sjlj+eh&num=10&hl=en&btnG=Google+Search&as_epq=&as_oq=&as_eq=&lr=&as_ft=i&as_filetype=&as_qdr=all&as_nlo=&as_nhi=&as_occt=any&as_dt=i&as_sitesearch=cygwin.com&safe=images>
> 
> --
> Larry Hall                             
> http://www.rfk.com
> RFK Partners, Inc.                      (508)
> 893-9779 - RFK Office
> 838 Washington Street                   (508)
> 893-9889 - FAX
> Holliston, MA 01746                     
> 
>  

______________________________________________________________________ 
Post your free ad now! http://personals.yahoo.ca

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