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
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -108,6 +108,9 @@ TAGS
|
||||
/solenv/gdb/libreoffice/*.py[co]
|
||||
/solenv/gdb/libreoffice/util/*.py[co]
|
||||
|
||||
# botstrap generated tool
|
||||
/solenv/bin/concat-deps
|
||||
|
||||
# test output files
|
||||
test/user-template/user/psprint/pspfontcache
|
||||
|
||||
|
@@ -74,6 +74,10 @@ if test "$BUILD_DMAKE" != "NO"; then
|
||||
echo "dmake copied to $SOLARENV/$OUTPATH_FOR_BUILD/bin/dmake$EXEEXT"
|
||||
fi
|
||||
|
||||
# build concat-deps
|
||||
echo "building concat-deps"
|
||||
$CC_FOR_BUILD -O2 "$SOLARENV/bin/concat-deps.c" -o "$SOLARENV/bin/concat-deps" || exit
|
||||
|
||||
#make sure build.pl is executable
|
||||
|
||||
chmod +x "$SRC_ROOT/solenv/bin/build.pl"
|
||||
|
@@ -1899,7 +1899,7 @@ fi
|
||||
|
||||
dnl ===================================================================
|
||||
dnl Extra check for Windows. Cygwin builds need gcc to build dmake
|
||||
dnl although MSVC is used to build other build-time tools and
|
||||
dnl although MSVC is used to build other build-time tools and
|
||||
dnl LibreOffice itself.
|
||||
dnl ===================================================================
|
||||
if test "$build_os" = "cygwin" ; then
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user