Mail Archives: cygwin/2001/11/13/01:56:16
Hello.
egor duda a écrit :
> Monday, 12 November, 2001 gilles civario civario AT mimosa DOT ceng DOT cea DOT fr wrote:
>
> gc> Wile developing a performance test program for gettimeofday resolution,
> gc> I found a strange behavior for gcc under cygwin with the -O flags.
> gc> Everywhere else with native compiler or with gcc, the program return constant
> gc> results, with or without optimization. (On Sun, Dec, Linux and Fujitsu)
> gc> Only with cygwin, the result is divided by 5000 from -O0 to -O1, both with
> gc> gcc version 2.95.3-5 (cygwin special) and gcc version 3.0.2.
> gc> But it shouldn't. Ok for a little increase, but not for 5000 !
>
> you cannot reliably test float values for equality. you should rethink
> the logic of your boucle () function to get reliable results.
I'm not sure that the problem is mine.
First, consider that this little program works fine on a large variety of
different machine, event on Linux PCs.
But, I've tried a different test for my float values :
Instead of (t2 != t1), when I use ((t2-t1)>1.E-10), I got the same results
with -O1 than with -O0. Alleluia !!! But when I use ((t2-t1)>1.E-20), I've
got the initial results and the enormous differences between the two optimization
modes. Why such a comparison gives different results when changing an
optimization flag ? And only with Cygwin ?
Regards
Gilles Civario.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -