Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Fri, 18 Jun 2004 23:10:45 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: "Douglas A. Vechinski" cc: cygwin AT cygwin DOT com Subject: Re: Poor execution speeds using -mno-cygwin g77 option In-Reply-To: <40D353CA.7010905@dynetics.com> Message-ID: References: <40D34454 DOT 4050103 AT dynetics DOT com> <40D353CA DOT 7010905 AT dynetics DOT com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.39 On Fri, 18 Jun 2004, Douglas A. Vechinski wrote: > Igor Pechtchanski wrote: > > >>Even though Case C, when the -mno-cygwin flag is not used, the > >>difference is still significant. compared to Case A. > > > >That's not surprising. Cygwin is a POSIX emulation environment *on top* > >of Windows -- naturally the performance of any Cygwin tool will be slower > >than that of an equivalent pure Windows tool. The MinGW case is > >surprising, but doesn't belong on this list. > > I was planning on sending the question to Mingw32. I never have been > totally clear on how separate and distinct Cygwin and Mingw32 are. Cygwin is a POSIX emulation environment. MinGW32 is a static mapping from some POSIX calls to the corresponding Win32 API calls. They are separate projects. Think of Cygwin as a runtime module that wraps all POSIX calls, and of MinGW as a compile-time mapping. That's why MinGW produces pure Windows executables. > >>Is this a Cygwin problem, or g77 problem or something else. I don't > >>recall experiencing such differences several years ago when doing the > >>same thing. > > > >Things evolve. It's possible that some system calls got speeded up on > >Linux (or, though doubtful, that some system calls got slowed down on > >Windows). Are you using the same exact options to compile (keep in mind > >that the defaults may be different on Linux and Cygwin)? As a WAG, are > >you using floating point emulation instead of hardware? > > I supply the same compiler flags to both under Linux and Cygwin (-O and > some -D defines). Check the default compilation options (*not* the command-line flags). Since you only use the "-O" flag, check whether the Linux gcc and the Cygwin one have the same defaults (I believe they are called "specs", "gcc -dumpspecs" should show some of them). > To my knowledge, I'm not using floating point emulation. But if I was, > how would I be able to check? Actually, my WAG may turn out to be right after all. Check the default target architecture (processor) for both Linux and Cygwin -- you might find that the default target for Cygwin is i386, and for Linux it's something like i686/pentiumpro. Otherwise, your best bet would probably be profiling. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- 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/