This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[wayne@cs.toronto.edu: Cygwin-1.5.5 sscanf on floats: 20 times slower than 2 years ago]


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?

Corinna

----- Forwarded message from Wayne Hayes <wayne@cs.toronto.edu> -----
> Date: Sun, 16 Nov 2003 09:54:31 -0500
> From: Wayne Hayes <wayne@cs.toronto.edu>
> Subject: Cygwin-1.5.5 sscanf on floats: 20 times slower than 2 years ago
> To: cygwin@cygwin.com
> 
> Hello.  Until recently I was running W2k with an ancient version of
> cygwin; I don't know what version it was, but if anybody cares I've
> put a copy of cygwin1.dll (dated 2001-May-20) at
> 
> 	http://www.cs.toronto.edu/~wayne/tmp/cygwin1-old.dll.gz
> 
> It worked fine on W2k for the past 2.5 years.
> 
> I recently upgraded to Windows XP and this old cygwin stopped working.
> No problem, I say, it's also time to upgrade cygwin, so I go install the
> most recent version.
> 
> Everything works fine, except one of my I/O intensive simulations starts
> running about 20 times slower!
> 
> After copious mucking about, I finally narrowed it down to sscanf: sscanf
> on double precisions numbers, such as
> 
>     double a;
>     char line [80];
>     fgets(line...)
>     sscanf(line, "%lf", &a);
> 
> runs about 20 times slower than in the old cygwin.  Replacing the sscanf
> with a call to atof gets back the old speed.  It's only noticable, of
> course, if you're scanning a huge file.  In my case, it's a 60MB file
> that contains tens of thousands of lines of ASCII floating point numbers.
> 
> So, consider this a bug report.  A slowdown of a factor of 20 is not really
> a good thing.
> 
> The output of "cygcheck -s -v -r > cygcheck.out" can be found at
> 
>     http://www.cs.toronto.edu/~wayne/tmp/cygcheck-XP-1.5.5.out.gz
> 
> Thanks!
> 
>     - Wayne
----- End forwarded message -----

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Developer                                mailto:cygwin@cygwin.com
Red Hat, Inc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]