Re: [Cooker] The best gcc??
On Sun, 24 Feb 2002, Dave Seff wrote: > I took gcc 2.95.3, 2.96-80 (current cooker version) It is not. > It it obvious that gcc 2.95.3 creates code that is twice as fast as the > latter versions. I ran this test after reading this article: > http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html That "atlas problem" should be fixed in 3.0.4-2mdk. Jan Hubicka, who made the patch, had to say on the gcc mailing-list: "There was nothing wrong with the scheduler and the analysis on page are somewhat missleading. Real problem was that gcc "forgotten" about posibility of using memory operand in certain cases of commutative i387 fp instructions requiring one additional register. (this happent as result of two independent major change sin the compiler) This register is not available in the loop curefully written for 8 registers and causes the performance drop." BTW, the patch also helps the P4 FPU, for that particular case... Bye, Gwenole.
Re: [Cooker] The best gcc??
Dave Seff <[EMAIL PROTECTED]> writes: > Holy cow. I ran this test and it gave me a completely different result. Why > is that? because C doesn't enforce the behaviour for no return/exit, so it just does whatever it wants :)
Re: [Cooker] The best gcc??
Holy cow. I ran this test and it gave me a completely different result. Why is that? gcc 2.95: bash-2.05$ time ./test Command exited with non-zero status 152 4.47user 0.00system 0:04.47elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (63major+95minor)pagefaults 0swaps gcc-2.96: bash-2.05$ time ./test Command exited with non-zero status 124 2.60user 0.00system 0:02.96elapsed 87%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (63major+75minor)pagefaults 0swaps gcc-3.0.4: bash-2.05$ time ./test Command exited with non-zero status 124 2.58user 0.00system 0:02.57elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k 0inputs+0outputs (63major+75minor)pagefaults 0swaps
Re: [Cooker] The best gcc??
Dave Seff <[EMAIL PROTECTED]> writes: > It it obvious that gcc 2.95.3 creates code that is twice as fast as the > latter versions. humf. You must precise that it's better for this "atlas" thingy. You can't generalize that easily for anything else. just for fun, here is a test that is more *much* faster on gcc > 2.95 void recursive_memset(char *p, int n) { if (n) { *p = 0; recursive_memset(p + 1, n - 1); } } #define NB 1 main () { char tab[NB]; int i; for (i = 0; i < 1; i++) recursive_memset(tab, NB); }
[Cooker] The best gcc??
I just ran a benchmark test on my machine and noticed a big difference between different versions of gcc. I took gcc 2.95.3, 2.96-80 (current cooker version), and gcc3.0 (also from cooker). here are my results: echo "GCC 2.95performance:" GCC 2.95performance: ./xmm_gcc ALGORITHM NB REPSTIME MFLOPS = = = == == atlasmm 60 1000 0.300 1440.00 echo "GCC 2.96-80 performance:" GCC 2.96-80 performance: ./xmm_ngc ALGORITHM NB REPSTIME MFLOPS = = = == == atlasmm 60 1000 0.590 732.20 echo "GCC 3.0 performance:" GCC 3.0 performance: ./xmm_gc3 ALGORITHM NB REPSTIME MFLOPS = = = == == atlasmm 60 1000 0.590 732.20 It it obvious that gcc 2.95.3 creates code that is twice as fast as the latter versions. I ran this test after reading this article: http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html -Dave --- --- ---
[Cooker] The best gcc??
I just ran a benchmark test on my machine and noticed a big difference between different versions of gcc. I took gcc 2.95.3, 2.96-80 (current cooker version), and gcc3.0 (also from cooker). here are my results: echo "GCC 2.95performance:" GCC 2.95performance: ./xmm_gcc ALGORITHM NB REPSTIME MFLOPS = = = == == atlasmm 60 1000 0.300 1440.00 echo "GCC 2.96-80 performance:" GCC 2.96-80 performance: ./xmm_ngc ALGORITHM NB REPSTIME MFLOPS = = = == == atlasmm 60 1000 0.590 732.20 echo "GCC 3.0 performance:" GCC 3.0 performance: ./xmm_gc3 ALGORITHM NB REPSTIME MFLOPS = = = == == atlasmm 60 1000 0.590 732.20 It it obvious that gcc 2.95.3 creates code that is twice as fast as the latter versions. I ran this test after reading this article: http://www.cs.utk.edu/~rwhaley/ATLAS/gcc30.html -Dave --- --- --- ---