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 Date: Fri, 21 Nov 2003 16:34:44 -0500 From: Christopher Faylor To: "J. Johnston" Cc: Wayne Hayes , newlib AT sources DOT redhat DOT com, cygwin AT cygwin DOT com Subject: Re: [wayne AT cs DOT toronto DOT edu: cygwin-1.5.5 sscanf on floats: 20 times slower than 2 years ago] Message-ID: <20031121213444.GD18828@redhat.com> Reply-To: cygwin AT cygwin DOT com, newlib AT sourceware DOT org Mail-Followup-To: "J. Johnston" , Wayne Hayes , newlib AT sources DOT redhat DOT com, cygwin AT cygwin DOT com References: <03Nov17 DOT 130546edt DOT 453219-16291 AT jane DOT cs DOT toronto DOT edu> <3FBE6D21 DOT 1080305 AT redhat DOT com> <3FBE7A8A DOT 6080005 AT redhat DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3FBE7A8A.6080005@redhat.com> User-Agent: Mutt/1.4.1i On Fri, Nov 21, 2003 at 03:50:18PM -0500, J. Johnston wrote: >J. Johnston wrote: >>Wayne Hayes wrote: >> >>>>Since scanf and the floating point arithmetic is implemented in newlib, >>>>I've redirected this message there. Does anybody have an idea, what >>>>could slow down float scanning in sscanf by a factor of 20? >>> >>> >>> >>>Thanks! Just to be pedentic, I realized that it's worse than a factor >>>of 20. >>>My *entire simulation* slows down by a factor of 20; there's significant >>>other computation in it. So the scanf slowdown is probably closer to >>>hundreds of times. *Something* fishy must be going on. :-) >>> >> >>The reason for the slow down is long double support. A new routine >>_strtold is used instead of _strtod_r. I am working on a patch to use >>the old routine for non-long-doubles to avoid the slow down. > >Patch checked in. I'm generating a new snapshot now: http://cygwin.com/snapshots.html . It will be interesting to hear if this solves the problem. Btw, would using hardware floating point help here at all? I managed to get newlib to build with hardware floating point earlier but I wasn't sure what the consequences of doing that would be (other than the fact that cygwin wouldn't work on a x386). cgf -- 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/