[PATCH] perf-test: bump version to 0.4, use manifest files
Tomi Ollila
tomi.ollila at iki.fi
Mon Dec 2 07:25:31 PST 2013
On Sun, Dec 01 2013, David Bremner <david at tethera.net> wrote:
> The new revision of the performance test includes manifests for each corpus,
> so update the support library to use these manifests at the same time.
> ---
This is consistent with what is currently in repository so +1
Tomi
>
> Jani's message
>
> id:d74499f1e462755676edf9aa6ab689ba47fa2471.1385825425.git.jani at nikula.org
>
> reminded me I had an update of the performance test suite in the
> works. The new suite is available from
>
> http://tesseract.cs.unb.ca/notmuch/notmuch-email-corpus-0.4.tar.xz
> http://tesseract.cs.unb.ca/notmuch/notmuch-email-corpus-0.4.tar.xz.asc
>
> I haven't yet uploaded it to notmuchmail.org because of disk space concerns.
>
> .../download/notmuch-email-corpus-0.4.tar.xz.asc | 14 +++++
> performance-test/perf-test-lib.sh | 72 ++++++++++++++--------
> performance-test/version.sh | 2 +-
> 3 files changed, 60 insertions(+), 28 deletions(-)
> create mode 100644 performance-test/download/notmuch-email-corpus-0.4.tar.xz.asc
>
> diff --git a/performance-test/download/notmuch-email-corpus-0.4.tar.xz.asc b/performance-test/download/notmuch-email-corpus-0.4.tar.xz.asc
> new file mode 100644
> index 0000000..72dedd8
> --- /dev/null
> +++ b/performance-test/download/notmuch-email-corpus-0.4.tar.xz.asc
> @@ -0,0 +1,14 @@
> +-----BEGIN PGP SIGNATURE-----
> +Version: GnuPG v1.4.15 (GNU/Linux)
> +
> +iQGcBAABCAAGBQJSdaDkAAoJEPIClx2kp54sQ54L/ikkvF1fy88hjLitN59v6g2J
> +vw85YNRifNHyp/UXI6nt2eXFzyWJiRHuvHFoBgmEsJVxauOKw61Gs2zd53x9Ear4
> +MGcQWyiM1cnwX/nD7GvxRQNh33f+FEamTjg+QhG47K0A2YdLWcDC7r9GMatGT11x
> +5KE24WQGOqtgQn/9qNtJvkiKIehpRiDTaW/QJ7mTCYeJFjIHJUY8dxyfiTtkJ0z7
> +cJ6omehvWSw4STbEg65XJgqykxMdltNEavfvSbAT73FgmkkyXxul0s5hDZ/esd0n
> +re3dyDxGt085POiAgPti05a4tJI5EQC2wLBUFri0s2JdMtazcD6yVuHNbVzZ4Do3
> +nL/sgwKGUq5wRrPqPWp6HXtZ9zG+/V7hFNrr/l42qGrLqsSh0bqvEnUiwczZLBGy
> +NEs4G8VjmfS2cMKePsWaekBAvFUtb47PSB6JIPwpCNvKXDrcCb28eOQVB2atgj1h
> +9SktOtWYJhWIQp2YW9iae30Z6lhCcdPRRHTFMQq2nQ==
> +=eSMY
> +-----END PGP SIGNATURE-----
> diff --git a/performance-test/perf-test-lib.sh b/performance-test/perf-test-lib.sh
> index 9ee7661..44708cf 100644
> --- a/performance-test/perf-test-lib.sh
> +++ b/performance-test/perf-test-lib.sh
> @@ -41,52 +41,70 @@ add_email_corpus ()
> {
> rm -rf ${MAIL_DIR}
>
> - case "$corpus_size" in
> - small)
> - mail_subdir="mail/enron/bailey-s"
> - check_for="${TEST_DIRECTORY}/corpus/$mail_subdir"
> - ;;
> - medium)
> - mail_subdir="mail/notmuch-archive"
> - check_for="${TEST_DIRECTORY}/corpus/$mail_subdir"
> - ;;
> - *)
> - mail_subdir=mail
> - check_for="${TEST_DIRECTORY}/corpus/$mail_subdir/enron/wolfe-j"
> - esac
> + CORPUS_DIR=${TEST_DIRECTORY}/corpus
> + mkdir -p "${CORPUS_DIR}"
>
> - MAIL_CORPUS="${TEST_DIRECTORY}/corpus/$mail_subdir"
> - TAG_CORPUS="${TEST_DIRECTORY}/corpus/tags"
> + MAIL_CORPUS="${CORPUS_DIR}/mail.${corpus_size}"
> + TAG_CORPUS="${CORPUS_DIR}/tags"
>
> - args=()
> - if [ ! -d "$TAG_CORPUS" ] ; then
> - args+=("notmuch-email-corpus/tags")
> + if command -v pixz > /dev/null; then
> + XZ=pixz
> + else
> + XZ=xz
> fi
>
> - if [ ! -d "$check_for" ] ; then
> - args+=("notmuch-email-corpus/$mail_subdir")
> + if [ ! -d "${CORPUS_DIR}/manifest" ]; then
> +
> + printf "Unpacking manifests\n"
> + tar --extract --use-compress-program ${XZ} --strip-components=1 \
> + --directory ${TEST_DIRECTORY}/corpus \
> + --wildcards --file ../download/notmuch-email-corpus-${PERFTEST_VERSION}.tar.xz \
> + 'notmuch-email-corpus/manifest/*'
> fi
>
> - if [[ ${#args[@]} > 0 ]]; then
> - if command -v pixz > /dev/null; then
> - XZ=pixz
> + file_list=$(mktemp file_listXXXXXX)
> + if [ ! -d "$TAG_CORPUS" ] ; then
> + echo "notmuch-email-corpus/tags" >> $file_list
> + fi
> +
> + if [ ! -d "$MAIL_CORPUS" ] ; then
> + if [[ "$corpus_size" != "large" ]]; then
> + sed s,^,notmuch-email-corpus/, < \
> + ${TEST_DIRECTORY}/corpus/manifest/MANIFEST.${corpus_size} >> $file_list
> else
> - XZ=xz
> + echo "notmuch-email-corpus/mail" >> $file_list
> fi
> + fi
>
> - printf "Unpacking corpus\n"
> - mkdir -p "${TEST_DIRECTORY}/corpus"
> + if [[ -s $file_list ]]; then
>
> + printf "Unpacking corpus\n"
> 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[@]}"
> + --anchored --recursion \
> + --files-from $file_list
>
> printf "\n"
>
> + if [[ ! -d ${MAIL_CORPUS} ]]; then
> + printf "creating link farm\n"
> +
> + if [[ "$corpus_size" = large ]]; then
> + cp -rl ${TEST_DIRECTORY}/corpus/mail ${MAIL_CORPUS}
> + else
> + while read -r file; do
> + tdir=${MAIL_CORPUS}/$(dirname $file)
> + mkdir -p $tdir
> + ln ${TEST_DIRECTORY}/corpus/$file $tdir
> + done <${TEST_DIRECTORY}/corpus/manifest/MANIFEST.${corpus_size}
> + fi
> + fi
> +
> fi
>
> + rm $file_list
> cp -lr $TAG_CORPUS $TMP_DIRECTORY/corpus.tags
> cp -lr $MAIL_CORPUS $MAIL_DIR
> }
> diff --git a/performance-test/version.sh b/performance-test/version.sh
> index afafc73..f02527a 100644
> --- a/performance-test/version.sh
> +++ b/performance-test/version.sh
> @@ -1,3 +1,3 @@
> # this should be both a valid Makefile fragment and valid POSIX(ish) shell.
>
> -PERFTEST_VERSION=0.3
> +PERFTEST_VERSION=0.4
> --
> 1.8.4.2
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list