diff options
author | Norbert Thiebaud <nthiebaud@gmail.com> | 2011-12-17 10:54:24 -0600 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2011-12-17 10:54:45 -0600 |
commit | e3e94f141e15f5501ed81402a70beb10b85ccd6f (patch) | |
tree | f6bc5d2ced577a2141935b2cbfff47daa2be950c /solenv | |
parent | 1b99d8800e399f45404ab62827163a873d2a1aec (diff) |
use a c-version of concat-deps.pl
This touch configure.in with a trivial space removal to force a
./bootstrap on the tinderboxes
This make ./bootstrap build a 'build-side' executable concat-deps
and modify LinkTarget.mk to use it instead of concat-deps.pl
The impact is a conservative x10 times improvement in both elapsed and
cpu time in overhead due to DEP generations.
time make -sr build in tail_build after removing
workdir/$INPATH/Dep/LinkTarget/Library/*
(all on Intel X3360, 2.83GHz, 4-core)
before:
elapsed: 116.5 cpu: 115.9
after
elapsed: 24.3 cpu: 23.9
base (no dep processing, i.e no rm of Dep/...)
elapsed: 17.5 cpu: 17.4
overhead ratio:
elapsed: 14.5x cpu: 15x
same with -j6
before:
elapsed: 47 cpu: 116
after:
elapsed: 20.8 cpu: 24
base:
elapsed: 17.5 cpu: 17.5
overhead ratio:
elapsed: 9x cpu: 15x
Note: for now the executable is generated directly in the source tree
(in solevn/bin ). That is not ideal. It and other similar polution
should be moved, to workdir most likely..
For now we just hide the mess under the .gitignore carpet
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/concat-deps.c | 5 | ||||
-rw-r--r-- | solenv/gbuild/LinkTarget.mk | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/solenv/bin/concat-deps.c b/solenv/bin/concat-deps.c index f3ecdef5d62c..6cf919235ebf 100644 --- a/solenv/bin/concat-deps.c +++ b/solenv/bin/concat-deps.c @@ -3,8 +3,8 @@ * License: GPLv3 */ -//* define to activate stats reporting on hash usage -#define HASH_STAT +/* define to activate stats reporting on hash usage*/ +/* #define HASH_STAT */ /* =============================================== * Set-up: defines to identify the system and system related properties @@ -566,7 +566,6 @@ int cost = 0; { hash->collisions += 1; hash->cost += cost; -// fprintf(stderr, "key colision %s and %s\n", key, hash_elem->next->key); } #endif hash->array[hashed] = hash_elem; diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 4a7833c6af35..eec7612b84bb 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -338,7 +338,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(foreach object,$(8),$(call gb_GenCObject_get_dep_target,$(object))) \ $(foreach object,$(9),$(call gb_GenCxxObject_get_dep_target,$(object))) \ ) && \ - $(SOLARENV)/bin/concat-deps.pl $${RESPONSEFILE} > $(1)) && \ + $(SOLARENV)/bin/concat-deps $${RESPONSEFILE} > $(1)) && \ rm -f $${RESPONSEFILE} endef |