Return-Path: X-Original-To: notmuch@notmuchmail.org Delivered-To: notmuch@notmuchmail.org Received: from localhost (localhost [127.0.0.1]) by olra.theworths.org (Postfix) with ESMTP id BA5A7431FAE for ; Wed, 5 Dec 2012 19:02:14 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at olra.theworths.org X-Spam-Flag: NO X-Spam-Score: 0 X-Spam-Level: X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] autolearn=disabled Received: from olra.theworths.org ([127.0.0.1]) by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N0auSXSf6z0a for ; Wed, 5 Dec 2012 19:02:13 -0800 (PST) Received: from tesseract.cs.unb.ca (tesseract.cs.unb.ca [131.202.240.238]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by olra.theworths.org (Postfix) with ESMTPS id 87247431FBC for ; Wed, 5 Dec 2012 19:02:11 -0800 (PST) Received: from fctnnbsc30w-142167090129.dhcp-dynamic.fibreop.nb.bellaliant.net ([142.167.90.129] helo=zancas.localnet) by tesseract.cs.unb.ca with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1TgRiz-0002D4-Gj; Wed, 05 Dec 2012 23:02:09 -0400 Received: from bremner by zancas.localnet with local (Exim 4.80) (envelope-from ) id 1TgRiu-0001Z7-1g; Wed, 05 Dec 2012 23:02:04 -0400 From: david@tethera.net To: notmuch@notmuchmail.org Subject: [Patch v2 10/11] perf-test: split basic into 00-new and 01-dump-restore Date: Wed, 5 Dec 2012 23:01:47 -0400 Message-Id: <1354762908-5788-11-git-send-email-david@tethera.net> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1354762908-5788-1-git-send-email-david@tethera.net> References: <1354762908-5788-1-git-send-email-david@tethera.net> X-Spam_bar: - Cc: David Bremner X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Dec 2012 03:02:15 -0000 From: David Bremner 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 '*'" - -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