[FFmpeg-devel] [PATCH] update doc/optimization.txt

Michael Niedermayer michaelni
Mon Sep 20 14:55:00 CEST 2010

On Fri, Sep 17, 2010 at 07:58:09PM +0100, M?ns Rullg?rd wrote:
> Michael Niedermayer <michaelni at gmx.at> writes:
> > On Fri, Sep 17, 2010 at 06:23:16PM +0100, M?ns Rullg?rd wrote:
> >> "Ronald S. Bultje" <rsbultje at gmail.com> writes:
> >> 
> >> > Hi,
> >> >
> >> > $subj, fixes a typo and mentions yasm.
> >> >
> >> > I could word it stronger ("if you write new code, yasm is preferred
> >> > for non-inlined functions") if we can agree on that (which I don't
> >> > think we do yet).
> >> 
> >> Does anyone who actually writes any asm nowadays disagree?
> >
> > i dont know, but the one maintaining the x86 asm does
> Ronald has done more maintenance there than anyone else recently.

it depends on how you define maintaince, ronald did a lot of usefull asm
related work recently and maybe recently more than anyone else. But i dont
think he has maintained the existing asm.
And i dont consider rewriting inline to yasm when it can be avoided maintaince
For the next bugfix someone could rewrite yasm to inline again thats not
maintaince either

> > and the project leader disagrees too
> What rational arguments do you have in favour of inline asm over yasm?

That has been discussed already if iam not mistaken
but i can repeat what i remember of it
* The call overhead can be avoided
* it works on all platforms that have gcc or compatible compilers
* it allows mixing in of C code,that is especially when accessing structs
  quite nice and leads to more readable code.
* The actual existing yasm code is rather unpretty and mixed with
  plenty of macros.

Also what maybe hasnt been mentioned, i dont know ...
The inline vs. external asm (nasm back then) discussion has happened already
many years ago and the consensus was that inline was better.
Now the technology has changed but i dont think it has changed much and also
i dont remember anyone arguing along  the line that it was bad in the past
but due to feature X it is now good to use external asm.
What i see is jason and the people surrounding him pushing for yasm.
prior to x264 people pushed for inline (and people was not me here when iam
remembering correctly)

What i really dislike is the switching the preferred asm style every few
years depending on the by then more active people.
The result is a mix of 2 systems where one has to deal with all issues of
both. This is probably not really avoidable now but still...

Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When you are offended at any man's fault, turn to yourself and study your
own failings. Then you will forget your anger. -- Epictetus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100920/89a4c4bf/attachment.pgp>

More information about the ffmpeg-devel mailing list