Giuseppe;

Actually my remarks were (mostly) meant for Adam. Sorry about that., I think I 
am agreeing with you, at least in part. The RPM building option you mention 
is interesting.

Hmmm...well, can I get your input on an article on freshmeat? The URL is 

http://freshmeat.net/articles/view/730/

I would be especially interested in any comments concerning some of the later 
comments on the article.

Bob


On Monday 24 March 2003 03:22 pm, Giuseppe Ghib� wrote:
> w9ya wrote:
> >Again, some of the flags are being used wrong:
> >
> >Giuseppe please check the gcc docs, as some (most) flags are redundant
> > with -02 and almost all are with -03. Things have changed radically in
> > this area with the upgrade to 3.x
> >
> >Bob Finch
>
> Which flags are you talking about? I wasn't discussing neither about the
> flags used in
> the compilation example below nor in the %optflags,
> i.e. whether -mcpu and -march could coexists. The docs says they can,
> and with
> -march=i586 -mcpu=pentiumpro in i586 %optflags the behaviour should be
> to get optimization
> for pentiumpro architectures and the -march=i586 would let to restrict
> the instructions set used
> only to i586 set. Anyway you can try also with:
>
>     rpm -ba --target i686-mandrake-linux --with mmx mjpegtools.spec
>
> which will use only one of -march/-mcpu, and the performance
> are more or less the same as of with --target i586-mandrake-linux.
>
> >On Monday 24 March 2003 12:24 pm, Giuseppe Ghib� wrote:
> >>w9ya wrote:
> >>>As I understand the gcc docs, using both -march and -mcpu is odd. You
> >>>should probably be running these tests with just -march or just -mcpu.
> >>>There may be some other issues as well, but this is as good a place to
> >>>start as any.
> >>>
> >>>Bob Finch
> >>>
> >>>On Wednesday 19 March 2003 03:12 pm, Austin wrote:
> >>>>Here's a simple benchmark from Narfi.
> >>>>
> >>>>Athlon XP 2100.
> >>>>Asus A7N8X motherboard (NForce2)
> >>>>512 MB memory, PC2700 2-2-2
> >>>>Mandrake 9.0
> >>>>
> >>>>###############
> >>>># Compiling for athlon-xp
> >>>>export CFLAGS="-march=athlon-xp -mcpu=athlon-xp -O3
> >>>> -finline-limit=10000 -ffast-math -fomit-frame-pointer"; export
> >>>> CXXFLAGS=$CFLAGS; make clean; ./configure  --disable-assert
> >>>> --enable-cmov-extension
> >>>>--enable-simd-accel; make
> >>>>
> >>>>###############
> >>>># Compiling for i586
> >>>>export CFLAGS="-march=i586 -mcpu=i586 -O3"; export CXXFLAGS=$CFLAGS;
> >>>> make clean; ./configure  --disable-assert --enable-cmov-extension
> >>>>--enable-simd-accel; make
> >>>>
> >>>>###############
> >>>># Compiling for i586, no MMX used
> >>>>export CFLAGS="-march=i586 -mcpu=i586 -O3"; export CXXFLAGS=$CFLAGS;
> >>>> make clean; ./configure  --disable-assert --disable-cmov-extension
> >>>>--disable-simd-accel; make
> >>>>
> >>>>He ran these 3 versions of mpeg2enc one after the other, each 3
> >>>>times and I picked the best time for each version. The file encoded was
> >>>>only 127MB so it fit into RAM.
> >>>>
> >>>>The best times of the 4 were:
> >>>>athlon-xp:    12.16
> >>>>i586:         13.24
> >>>>i586, no mmx: 57.65
> >>>>
> >>>>[ start quote ]
> >>>>
> >>>>In short: There are >>some<< packages which >>need to<< have mmx
> >>>> enabled. These numbers should show that beyond any doubt!
> >>>>
> >>>>How we do it is a different question.
> >>>>
> >>>>My opinion is that going all the way and allowing the user to recompile
> >>>>all packages is a potential support nightmare that Mandrake cannot risk
> >>>>and that we should do the minimal: Only do this for a small number of
> >>>>select packages where one can prove there is a significant benefit.
> >>>>
> >>>>If somebody recompiles OOo for athlon-xp and can show that the startup
> >>>>time after a reboot can be cut by 50% when compared to the i586
> >>>> version, I am all for it. Otherwise, I don't think it's worth the
> >>>> risk.
> >>>>
> >>>>Narfi
> >>>>
> >>>>[ end quote ]
> >>>>
> >>>>So you see,  4.4 times faster by enabling MMX, and 4.7 times faster by
> >>>>also enabling fast-math athlon XP.  Thus it looks like your average app
> >>>>will see very little increase in performance by recompiling for XP or
> >>>> P4 or whatever, but as it stands now, our video apps are almost
> >>>> unuseably slow.
> >>>>
> >>>>Austin
> >>
> >>I get a 3.5 times faster on PIII. Honestly I never found yet a package
> >>that will increase
> >>performance of even 10% just changing the compiler flags. Generally
> >>the best achievement from current %optflags to best one or even forcing
> >>-ffast-math and/or -fpmath=sse -march=..., is negligible, from 2-3% to
> >>5%. Effectively in package
> >>mjpegtools this performance increase is severe tue to mmx usage; you can
> >>try, compiling this one:
> >>
> >>    http://people.mandrakesoft.com/~ghibo/mjpegtools-1.6.1-2mdk.src.rpm
> >>
> >>using
> >>
> >>     rpm -ba --with mmx mjpegtools.spec
> >>
> >>note how the performance increase is almost ZERO removing -ffast-math
> >>from CFLAGS, and or
> >>using:
> >>
> >>    --target i686-mandrake-linux
> >>
> >>as rpm building option.
> >>
> >>Maybe it's worthwhile to provide a separated .i686 package for that. I
> >>wonder if there
> >>are other packages like this giving more that 50% in performance
> >>increasing just changing
> >>some compiler option or compiler flag.
> >>
> >>Bye.
> >>Giuseppe.


Reply via email to