[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [TSVN] Speed optimizing the build process?

From: SteveKing <steveking_at_gmx.ch>
Date: 2005-08-10 19:14:33 CEST

Markus Schuh wrote:

> The dependency checks inside the Subversion vsproj files are not as good
> as I asumed. I compiled the netless version, then changed the
> svn_privat_config.h (with a date newer than any compiled objects.) When
> I change the "/rebuild" to a "/build" now, not all libraries which
> depend on svn_private_config.h are rebuilt. I have to do more testing.

That's what I sometimes experienced too.

>>Even better would be if we just would compile the required library
>>projects. We don't need the 'svn' project either because that will
>>build the command line exe.
>
> The "svn" project is not perfect. But it is kind of "better" than
> "__ALL__". But the difference is minimal. (a few command line commands
> less.) I will do more checks. And there is a risc that - some day -
> tsvn will depend on more parts of the svn-vs-projects than the single
> project "svn" does now. With "__ALL__" you are on the safe side.

In that case, we could extend the build script to include the new
dependencies.

> After more testing my code I don't think I've done it right. Every
> execution of devenv checks the dependend projects as apr again. Result:
> no more "errors but a lot of unnecessary checking. And the main problem:
> Is there something like "make clean" possible with devenv? I can not
> find the right options for this. But I've now realized that a real
> rebuild between netless and normal compile is not so wrong.

The checking can't be avoided. That's a VS.NET issue. I think I once saw
an IDE extension which would remove those unnecessary checks, but people
reported then broken builds - I think those checks really are necessary
to be on the safe side.

A 'make clean' is simple: just pass /clean instead of /build or /rebuild.

> I've put some "echo %time%" in my build.bat and checked how to to speed
> up other parts.
> The first run leads to roughly (rounded procents of compile time)
>
> OpenSSL 10%
> SVN Debug 20%
> SVN Release 20%
> TSVN Release 5%
> TSVN Debug 5%
> Docs 20%
> Make_Lang_inst 20%
>
> (This is not true for later runs since not all code is recompiled, i.e.
> parts of openssl)
>
> So I've concentrated my efforts first on the Docs/Lang part.
> I'm just testing a new build.bat option "/lang <lang>". (optional) This
> is a simple change because the real work is already done inside the
> called scripts. Sorry, this option is of no worth for the compile of the
> nightly or official TSVN. Only for private compiles.

Maybe an option /langinst (which defaults to true) and /docs could
reduce the build process too. Just skip those parts if they're excluded
from the build.
Just don't forget to include them if no param is given - otherwise the
nightly builds will fail to compile those (and the docs are needed to
build the installer).

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Wed Aug 10 19:15:06 2005

This is an archived mail posted to the TortoiseSVN Dev mailing list.