aboutsummaryrefslogtreecommitdiffhomepage
path: root/performance-test/perf-test-lib.sh
diff options
context:
space:
mode:
authorGravatar David Bremner <bremner@debian.org>2012-12-03 08:13:31 -0400
committerGravatar David Bremner <bremner@debian.org>2012-12-15 08:17:57 -0400
commit74a883562b3e4593c75fa7625ff5cabab46a6466 (patch)
treeff339f98d81fc80b53298d73ee2400572a76c2ee /performance-test/perf-test-lib.sh
parent925ebd1fde59b003a7215e8cd7e07225a8f8915d (diff)
perf-test: cache unpacked corpus
Unpacking is not really the expensive step (compared to the initial notmuch new), but this is a pre-requisite to caching the database.
Diffstat (limited to 'performance-test/perf-test-lib.sh')
-rw-r--r--performance-test/perf-test-lib.sh51
1 files changed, 34 insertions, 17 deletions
diff --git a/performance-test/perf-test-lib.sh b/performance-test/perf-test-lib.sh
index bdf92449..53ef96da 100644
--- a/performance-test/perf-test-lib.sh
+++ b/performance-test/perf-test-lib.sh
@@ -39,33 +39,50 @@ add_email_corpus ()
{
rm -rf ${MAIL_DIR}
- case "$1" in
- --small)
- arg="mail/enron/bailey-s"
+ case "$corpus_size" in
+ small)
+ mail_subdir="mail/enron/bailey-s"
+ check_for="${TEST_DIRECTORY}/corpus/$mail_subdir"
;;
- --medium)
- arg="mail/notmuch-archive"
+ medium)
+ mail_subdir="mail/notmuch-archive"
+ check_for="${TEST_DIRECTORY}/corpus/$mail_subdir"
;;
*)
- arg=mail
+ mail_subdir=mail
+ check_for="${TEST_DIRECTORY}/corpus/$mail_subdir/enron/wolfe-j"
esac
- if command -v pixz > /dev/null; then
- XZ=pixz
- else
- XZ=xz
+ MAIL_CORPUS="${TEST_DIRECTORY}/corpus/$mail_subdir"
+ args=()
+ if [ ! -d "$check_for" ] ; then
+ args+=("notmuch-email-corpus/$mail_subdir")
fi
- printf "Unpacking corpus\n"
- tar --checkpoint=.5000 --extract --strip-components=1 \
- --directory ${TMP_DIRECTORY} \
- --use-compress-program ${XZ} \
- --file ../download/notmuch-email-corpus-${PERFTEST_VERSION}.tar.xz \
- notmuch-email-corpus/"$arg"
+ if [[ ${#args[@]} > 0 ]]; then
+ if command -v pixz > /dev/null; then
+ XZ=pixz
+ else
+ XZ=xz
+ fi
+
+ printf "Unpacking corpus\n"
+ mkdir -p "${TEST_DIRECTORY}/corpus"
+
+ tar --checkpoint=.5000 --extract --strip-components=1 \
+ --directory ${TEST_DIRECTORY}/corpus \
+ --use-compress-program ${XZ} \
+ --file ../download/notmuch-email-corpus-${PERFTEST_VERSION}.tar.xz \
+ "${args[@]}"
+
+ printf "\n"
- printf "\n"
+ fi
+
+ cp -lr $MAIL_CORPUS $MAIL_DIR
}
+
print_header () {
printf "[v%4s %6s] Wall(s)\tUsr(s)\tSys(s)\tRes(K)\tIn/Out(512B)\n" \
${PERFTEST_VERSION} ${corpus_size}