[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Simple improvement of "make check" performance
From: |
Sven Herzberg |
Subject: |
Simple improvement of "make check" performance |
Date: |
Fri, 12 Oct 2007 18:29:57 +0200 |
User-agent: |
Thunderbird 1.5.0.13 (X11/20070824) |
Hi,
this patch adds the check targets (eg. check_PROGRAMS) directly to the
dependencies of check-am, resulting in make spawning one command less
and better parallel build performance because make can decide whether
check_PROGRAMS need to be rebuild.
In a simple example in one of my projects (with "TESTS=" - so that no
tests are executed) it reduced the overall time for running make check
in an updated source tree by ~32%.
Please tell me if you are interested in this patch and want me to update
it to cvs HEAD.
Regards,
Sven
PS: Please CC me for replies, as I'm not subscribed to this list.
PPS: I consider this patch being so trivial that no copyright assignment
should be necessary.
>From 6ada455fca7d178b1e6430dc56b41be7e3c031ef Mon Sep 17 00:00:00 2001
From: Sven Herzberg <address@hidden>
Date: Fri, 12 Oct 2007 18:22:05 +0200
Subject: [PATCH] Require one make job less (and improve knowlegde of make about
the DAG)
* automake.in: add the check targets directly to the dependencies of
check-am
* tests/Makefile.in: changed the Makefile.in according to automake's
new output
---
automake.in | 7 +++----
tests/Makefile.in | 3 +--
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/automake.in b/automake.in
index d7e48a1..d470312 100755
--- a/automake.in
+++ b/automake.in
@@ -4397,10 +4397,9 @@ sub do_check_merge_target ()
# The check target must depend on the local equivalent of
# `all', to ensure all the primary targets are built. Then it
# must build the local check rules.
- $output_rules .= "check-am: all-am\n";
- pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ",
- @check)
- if @check;
+ $output_rules .= "check-am: all-am";
+ $output_rules .= " ".join(" ",@check) if @check;
+ $output_rules .= "\n";
}
pretty_print_rule ("\t\$(MAKE) \$(AM_MAKEFLAGS)", "\t ",
@check_tests)
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 52a125a..fbf4e13 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -900,8 +900,7 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
+check-am: all-am $(check_SCRIPTS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile
--
1.5.2.5
- Simple improvement of "make check" performance,
Sven Herzberg <=