[MPlayer-dev-eng] [PATCH] replacement for internal mpg123 fork (mp3lib), Final version?
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Sat May 29 18:29:57 CEST 2010
On Tue, May 25, 2010 at 09:30:36AM +0200, Thomas Orgis wrote:
> Am Mon, 24 May 2010 16:49:48 +0200
> schrieb Thomas Orgis <thomas-forum at orgis.org>:
>
> > Am Mon, 24 May 2010 13:49:06 +0200
> > schrieb Diego Biurrun <diego at biurrun.de>:
> >
> > > > Can you compare
> > > > mpg123 --cpu 3dnow -t file.mp3
> > > > with
> > > > mpg123 --cpu 3dnowext -t file.mp3
> > >
> > > The latter is faster for me.
>
> Indeed it is. I see that now, on the 550MHz K6-3+:
I'd like to add that part of the issue may be that... Well...
The mpg123 3dnow code simply is going to be slower, because
1) it calls femms _twice_ per dct function call
2) it genrates a stack frame (i.e. saves/changes ebp). MPlayer by default does not.
3) it reserves 120 bytes on stack for local variables even though it never
uses any on-stack variables.
4) worse, it pushes the ebx and esi registers _after_ the stack increase,
thus increasing cache pressure for no good reason at all.
Maybe I am missing some good reason for this, but so far I think that
the code, honestly spoken, is simply crap.
More information about the MPlayer-dev-eng
mailing list