[Ffmpeg-devel] Bindings benchmark on visibility patch

Måns Rullgård mru
Fri Sep 22 23:07:18 CEST 2006


Diego 'Flameeyes' Petten? <flameeyes at gentoo.org> writes:

> On Friday 22 September 2006 21:16, Roman Shaposhnick wrote:
>> On Fri, Sep 22, 2006 at 09:00:40PM +0200, Diego 'Flameeyes' Petten? wrote:
>> > Without visibility patch:
>> >
>> > libavcodec required 625 symbols (591 in itself)
>> I'm sorry but these are just numbers. They don't mean a whole
>> lot to me as long as you're not telling us what kind of
>> a benefit there is in having fewer symbols being resolved. I do
>> mean real benefit not just a theoritical point of having fewer
>> is better king of a thing.
> Every time a binding has to be resolved, the dynamic linker (ld.so) has to 
> look up it in the loaded libraries, which requires iterating through the 
> symbol tables. Less bindings to be resolved implies practical shorter times 
> to load and to call functions the first time.

Who cares if it takes 5ms or 20ms to start up?  When I talk about
benchmarks, I mean decoding/encoding performance.

>> I'm sorry but I have a hard time deciphering this. Could you, please,
>> at least post benchmarks #s of some kind ?
> Well, they are benchmark values, I cannot really provide actual
> timing results, mostly because I know the current xine architecture
> will make them pretty pointless (there's a whole waste of time in
> it, I'm planning to fix it when I have time but it's not ready yet),
> not counting that it will also depend on the time required to
> actually play the video.

What xine does is uninteresting.  Measure the time it takes for ffmpeg
to transcode a piece of video from one format to another, with and
without the visibility patches.  Be sure to use a sample takes at
least a minute to reduce the effect of startup overhead.

>>   Now, C++ is a whole different ball of wax and from this short
>> snippet it is absolutely unclear how ffmpeg project would benefit
>> from anything that has to do with C++. It is even unclear what's
>> there for us to interact with on a C++ side that needs fixing.
> You seem *very* confused on this to me.
> What I was saying is just that hidden visibility does not have one
> of the many advantages when applied to C libraries: the drastic
> improvement in size.  This has not to be considered as a fault of
> the way -fvisibility=hidden is applied here, but rather as something
> that applies only on C++, so that you don't get mislead by the
> minimal size difference between the two to say "ah, the improvement
> is too small to be useful".

So far I haven't seen demonstrated any improvement whatsoever, drastic
or otherwise, to anything at all.  Adding all this mess only to make
use of an unnecessary compiler option is unacceptable.

-- 
M?ns Rullg?rd
mru at inprovide.com




More information about the ffmpeg-devel mailing list