[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: Ashod Nakashian <ashodnakashian_at_yahoo.com>
Date: Sun, 15 Apr 2012 02:40:06 -0700 (PDT)

----- 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 1:28 PM
> Subject: Re: Faster build/check times
>
>
>
> 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}`"

Lovely! Thanks a bundle.

>> -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:40:42 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.