summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-09-07 14:56:13 +0300
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>2016-10-06 08:51:47 +0300
commit9454eec70ff1e18d43dc4332da9acea9cb1fad35 (patch)
tree43f5778ef011b8fc64cc97674f1ae06b0d2daea6
parent3aa02692055f869a477037cab15567f4729d3fde (diff)
downloadopenembedded-core-contrib-9454eec70ff1e18d43dc4332da9acea9cb1fad35.tar.gz
build-perf-bisect: add buildtime2 test method
Method for better evaluating the build time of one build target, without the buildtime of the (build) dependencies affecting the result. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
-rwxr-xr-xbuild-perf-bisect.sh23
1 files changed, 22 insertions, 1 deletions
diff --git a/build-perf-bisect.sh b/build-perf-bisect.sh
index bd8defe297..4dae07304c 100755
--- a/build-perf-bisect.sh
+++ b/build-perf-bisect.sh
@@ -33,7 +33,7 @@ Optional arguments:
-c average over COUNT test runs (default: $test_count)
-d DL_DIR to use
-m test method, available options are:
- buildtime, tmpsize, esdktime, parsetime
+ buildtime, buildtime2, tmpsize, esdktime, parsetime
(default: $test_method)
-w work directory to use
EOF
@@ -213,6 +213,23 @@ buildtime () {
save_buildstats
}
+buildtime2 () {
+ # Pre-build to get all the deps in place
+ _time=`time_cmd bitbake $1` || exit 125
+ run_cmd bitbake -c cleansstate $1
+ rm -rf tmp*/buildstats/*
+
+ do_sync
+
+ results+=(`time_cmd bitbake $1`) || exit 125
+
+ save_buildstats
+}
+
+cleanup_buildtime2 () {
+ run_cmd rm -rf tmp*
+}
+
tmpsize () {
log "cleaning up build directory"
run_cmd rm -rf bitbake.lock conf/sanity_info cache tmp sstate-cache
@@ -263,6 +280,10 @@ builddir="$workdir/build-$git_rev-$timestamp"
case "$test_method" in
buildtime)
;;
+ buildtime2)
+ builddir="$workdir/build"
+ cleanup_func=cleanup_buildtime2
+ ;;
tmpsize)
quantity="SIZE"
;;