[FFmpeg-soc] Tips From The Hardened FFmpeg Veterans

Michael Niedermayer michaelni at gmx.at
Wed May 7 04:05:17 CEST 2008


On Wed, May 07, 2008 at 01:18:11AM +0200, Diego Biurrun wrote:
> On Tue, May 06, 2008 at 03:52:03PM -0700, Mike Melanson wrote:
> > Diego Biurrun wrote:
> > > On Tue, May 06, 2008 at 03:23:19PM -0700, Mike Melanson wrote:
> > >> * ccache (ccache.samba.org): This tool caches your compiled object
> > >> files. Of course, this is most useful in a project with proper
> > >> dependencies,
> > > 
> > > Proper dependency handling is irrelevant to ccache actually.
> > 
> > Proper dependency handling renders ccache unnecessary for normal
> > development workflow. But without the dependencies and the ensuing
> > uncertainties about object file consistency, full rebuilds are required
> > when strange stuff starts breaking.
> 
> Ummm, no.  For example, if you reconfigure and config.h changes, most of
> the object files in FFmpeg have to be rebuilt.  ccache will speed up

This depends on your definition of "have to". Most of the time just one
or 2 files really need to be recompiled.
For the end user the strict dependency handling we have now is certainly
the best thing. But for developers its only an annoyance.
A developer making a change knows very well normally what needs to be
recompiled while the current dependancy system pretty much tends to
recompile 10 times more than needed. ccache does not stop this either.
An example would a change to the CFLAGS for benchmarking, the
developer knows what code he benchmarks make&ccache do not.
Another example would be any minor change to a header which with the new
proper dependencies force complete recompiles, ccache does help in
some of these cases but its still a waste of time if the developer knows
its unneeded for him. One also must keep in mind that a developer working
on codec X really might not care at all if other codecs require a recompile
to function correctly ...

Luckily its trivial to hack the makefile to change the proper dependencies
back into usefull dependencies.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Those who are too smart to engage in politics are punished by being
governed by those who are dumber. -- Plato 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/attachments/20080507/03b245e9/attachment.pgp>


More information about the FFmpeg-soc mailing list