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

Re: Faster build/check times

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Sun, 15 Apr 2012 12:28:33 +0300

On Sun, Apr 15, 2012, at 02:09, Ashod Nakashian wrote:
>
>
>
>
> ----- Original Message -----
> > From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
> > To: Ashod Nakashian <ashodnakashian_at_yahoo.com>; "dev_at_subversion.apache.org" <dev_at_subversion.apache.org>
> > Cc:
> > Sent: Sunday, April 15, 2012 12:16 PM
> > Subject: Re: Faster build/check times
> >
> >
> >
> > On Sun, Apr 15, 2012, at 00:56, Ashod Nakashian wrote:
> >> >________________________________
> >> > From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
> >> >To: dev_at_subversion.apache.org
> >> >Sent: Sunday, April 15, 2012 9:33 AM
> >> >Subject: Faster build/check times
> >> >
> >> >Trying to enumerate ways to reduce build times.
> >>
> >> Very timely! I'm afraid I don't have anything to add, but think
> > it'd
> >> be useful to know what's the *minimum* set of features required to
> >> build the API + CLI frontend (i.e. libs + svn).
> >
> > All of the following components are optional: libsvn_fs_base(bdb),
> > libsvn_ra_neon, libsvn_ra_serf, mod_dav_svn(httpd), swig, java, ctypes, kwallet,
> > gnome-keyring.  Building the 'tools' makefile target (or VS project) is
> > done by default, but it can be harmlessly left out.
>
> Thanks! Here is what I came up with, in case it's useful to anyone:
>
> ./configure --disable-mod-activation --without-gssapi --without-apxs --without-berkeley-db --without-neon --without-serf --without-swig --without-ctypesgen --without-kwallet --without-gnome-keyring --disable-javahl --disable-keychain
>
> How can the tools be disabled without modifying makefiles?
>

'make bin atomic-ra-revprop-change entries-dump' instead of 'make'.

(The last two are in $(TEST_DEPS), and are needed to run certain py tests manually,
but there is no test-deps convenience target to avoid listing them explicitly by.)

And while I'm on the topic, another useful invocation:
% make check TESTS="`echo subversion/tests/cmdline/{basic_tests.py,merge_tests.py}`"

> -Ash
>
> >
> > That leaves a client that can talk svn:// and can talk file:// to FSFS
> > repositories.
> >
> > SQLite, APR, APR-Util are mandatory dependencies.
> >
> >>
> >> Alternatively, what features can be disabled and still get the bare minimum
> > output?
> >>
> >> (Apologies if I'm being lazy for not playing with configure to figure
> > it out myself - I think chances are high someone has something handy for pasting
> > at an arm's length.)
> >>
> >> Cheers,
> >> -Ash
> >>
> >> P.S. Thanks Daniel for this list!
> >>
> >> >
> >> >Faster builds:
> >> >- export CONFIG_SHELL=/bin/sh (minimal sh preferred)
> >> >- out-of-tree build (i.e., run 'configure' in an empty dir),
> > with the build tree in a tmpfs
> >> >- disable unneeded components (eg, swig, bdb) when they're not
> > needed
> >> >- pass '-q' to configure, '-s' to make
> >> >- pass '-C' to configure
> >> >- pass '-j' or '-j[number]' to make
> >> >- use cpuset(1)/taskset(1) to bind make to N-1 CPUs
> >> >
> >> >Faster checks:
> >> >- PARALLEL=1
> >> >- CLEANUP="" (and rm -rf svn-test-work/ before the build)
> >> >- put svn-test-work/ in a tmpfs
> >> >- SET_LOG_LEVEL=WARN (or ERROR)
> >> >
> >> >What else?
> >> >
> >> >
> >> >Thanks,
> >> >
> >> >Daniel
> >> >
> >> >
> >> >
> >
Received on 2012-04-15 11:29:07 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.