[MPlayer-dev-eng] [RFC] Makefile copyrights

Diego Biurrun diego at biurrun.de
Wed Jun 18 01:27:37 CEST 2008


On Tue, Jun 17, 2008 at 07:39:31PM +0200, Michael Niedermayer wrote:
> On Tue, Jun 17, 2008 at 02:57:16PM +0200, Diego Biurrun wrote:
> > On Sat, Jun 07, 2008 at 04:11:34PM +0200, Michael Niedermayer wrote:
> > > 
> > > * Its faster to build a .a per directory and then combine them than collect
> > >   all .o files if one changed. (simple matter of less collecting
>                    ^^^^^^^^^^^^^^
> > >   recompile one c file collect all .o of one dir collect all .a vs.
> > >   recompile one c file collect all .o of the whole project)
> > >   seeks are slow reading lots of files is slower than reading one
> > >   big one ...
> > 
> > This is not true.
> > 
> > I just did a quick benchmark comparing r26339 with HEAD.  I configured
> > both trees with the same options and then ran make in them.  After that
> > I ran 'rm mplayer mencoder' and then 'time make' in both trees in order
> > to benchmark just the last linking step.  Results vary by 0.1 seconds,
> > but both are always around 9.8s.
> 
> Not sure about you, but i do change some c files between running make.
> Also not everything might be in the disk cache like it is in your 
> make; rm mplayer; make
> Id be more interrested in the results with a changed c file and a flushed
> cache. (and changed means not a change that has been compiled in the past
> and is in ccache)

Once more, this time with ccache disabled.  I do

touch libmpdemux/demuxer.c libmpcodecs/vd.c && time make

and the results are that HEAD with dependency generation disabled takes
14s, r26339 takes 15.4s.  Accept it, link times have decreased.

> > > Anyway, everyone rewriting something knows his code is better than before
> > > in every respect. It rarely is though, especially if the old code is the
> > > result of years of bugfixes.
> > 
> > The old build system is not the result of years of bug fixes, but the
> > result of years of hacks.  I had to look at the old VIDIX Makefiles
> > recently, my eyes were bleeding.
> > 
> > Much of the old build system looked like a competition in redundant
> > programming.  r21275 alone removed 435 lines (of about 2000 IIRC)
> > without changing one iota of functionality.
> > 
> > There were always a lot of problems and the solution was to recommend to
> > distclean between every make run.  At some point the build system even
> > did this automatically.
> 
> Well whatever you say, fact is that to do development in ffmpeg & mplayer
> i had to 
> -	$(DEPEND_CMD) > $@
> +	touch $@
> 
> Because it otherwise rebuilds litterally everything when any header is
> changed, even with ccache that is rather slow.

Just comment out the last line in the MPlayer Makefile or the last line
of common.mak in FFmpeg, much more effective.

> For testing a patch and for the end user what the makefiles do currently
> is fine. For doing actual development it is not.
> If i change a header a dozen times and know that it will only need rebuilding
> of one file iam really a few hours quicker if i rebuild that file instead
> of the distclean equivalent that is done in svn currently.

Then comment out a line if you do not like it.  This is hardly asking
much.

Anyway, this has no relation to what I said and no relation to linking
once or linking (more or less) per directory.  Automatic dependency
generation is a completely separate issue.

> > > (this applies to uotis improvments more than the makefiles heres but
> > > still)
> > 
> > You are painting a rose-tinted picture of the past.  Arpi gave up on
> > MPlayer because he thought he had created an unmaintainable monster.
> > There were longstanding issues that nobody addressed 
> 
> I had the feeling he was togeter with gabu pushed out of the project
> similarly to how i and others are now.

Wow, now he was being "pushed out" of the project and Gabu, too...

Next time we talk, I'm sure you will have the feeling that I was the
one that led the mob with a pitchfork ...

> > and Arpi himself said that he did no longer understand the filter
> > layer completely anymore.
> 
> The filter layer is one thing of many, it is complex, one can rewrite it
> to make it simpler but it means loosing features and performance.

No contradiction to what I said.

> Besides what did uoti improve on the filter layer?

I said nothing about Uoti and the filter layer.

Diego



More information about the MPlayer-dev-eng mailing list