[Patch v2 10/11] perf-test: split basic into 00-new and 01-dump-restore

Austin Clements aclements at csail.mit.edu
Mon Dec 10 20:50:45 PST 2012


On Wed, 05 Dec 2012, david at tethera.net wrote:
> From: David Bremner <bremner at debian.org>
>
> We rely on subsequent "notmuch new" invocations being relatively fast
> rather than trying to detect if notmuch-new needs to be run.
> ---
>  performance-test/00-new            |   21 +++++++++++++++++++++
>  performance-test/01-dump-restore   |   15 +++++++++++++++
>  performance-test/README            |    8 ++++++--
>  performance-test/basic             |   20 --------------------
>  performance-test/notmuch-perf-test |    3 ++-
>  5 files changed, 44 insertions(+), 23 deletions(-)
>  create mode 100755 performance-test/00-new
>  create mode 100755 performance-test/01-dump-restore
>  delete mode 100755 performance-test/basic
>
> diff --git a/performance-test/00-new b/performance-test/00-new
> new file mode 100755
> index 0000000..02db874
> --- /dev/null
> +++ b/performance-test/00-new
> @@ -0,0 +1,21 @@
> +#!/bin/bash
> +
> +test_description='notmuch new'
> +
> +. ./perf-test-lib.sh
> +
> +uncache_database
> +
> +add_email_corpus
> +
> +print_header
> +
> +time_run 'initial notmuch new' 'notmuch new'
> +
> +cache_database
> +
> +for i in $(seq 2 6); do
> +    time_run "notmuch new #$i" 'notmuch new'
> +done
> +
> +time_done
> diff --git a/performance-test/01-dump-restore b/performance-test/01-dump-restore
> new file mode 100755
> index 0000000..09444e3
> --- /dev/null
> +++ b/performance-test/01-dump-restore
> @@ -0,0 +1,15 @@
> +#!/bin/bash
> +
> +test_description='Dump and restore'
> +
> +. ./perf-test-lib.sh
> +
> +add_email_corpus
> +
> +print_header
> +
> +time_run 'notmuch new' 'notmuch new'
> +time_run 'dump *' 'notmuch dump > tags.out'
> +time_run 'restore *' 'notmuch restore < tags.out'
> +
> +time_done
> diff --git a/performance-test/README b/performance-test/README
> index fd5c977..35489a9 100644
> --- a/performance-test/README
> +++ b/performance-test/README
> @@ -51,8 +51,8 @@ Each test script supports the following arguments
>  Writing tests
>  -------------
>  
> -Have a look at "basic" for an example. Sourcing "perf-test-lib.sh" is
> -mandatory.  Utility functions include
> +Have a look at "01-dump-restore" for an example. Sourcing
> +"perf-test-lib.sh" is mandatory.  Utility functions include
>  
>  - 'add_email_corpus' unpacks a set of messages and adds them to the database.
>  - 'cache_database': makes a snapshot of the current database
> @@ -60,3 +60,7 @@ mandatory.  Utility functions include
>    database.
>  - 'time_done' does the cleanup; comment it out or pass --debug to the
>    script to leave the temporary files around.
> +
> +Scripts are run in the order specified in notmuch-perf-test. In the
> +future this order might be chosen automatically so please follow the
> +convention of starting the name with two digits to specify the order.
> diff --git a/performance-test/basic b/performance-test/basic
> deleted file mode 100755
> index 41a7ff1..0000000
> --- a/performance-test/basic
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -#!/bin/bash
> -
> -. ./perf-test-lib.sh
> -
> -uncache_database
> -
> -add_email_corpus
> -
> -print_header
> -
> -time_run 'initial notmuch new' 'notmuch new'
> -
> -cache_database
> -
> -time_run 'second notmuch new' 'notmuch new'
> -time_run 'dump *' 'notmuch dump > tags.out'
> -time_run 'restore *' 'notmuch restore < tags.out'
> -time_run 'tag * +new_tag' "notmuch tag +new_tag '*'"

Did you mean to lose the tag-everything test?

> -
> -time_done
> diff --git a/performance-test/notmuch-perf-test b/performance-test/notmuch-perf-test
> index 1bea345..f93d8a4 100755
> --- a/performance-test/notmuch-perf-test
> +++ b/performance-test/notmuch-perf-test
> @@ -17,7 +17,8 @@ fi
>  cd $(dirname "$0")
>  
>  TESTS="
> -  basic
> +  00-new
> +  01-dump-restore
>  "
>  
>  for test in $TESTS; do
> -- 
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list