From bb28bf1148185b659cf1cdd78a284f3ee27508ae Mon Sep 17 00:00:00 2001 From: david Date: Thu, 6 Dec 2012 23:01:47 +2000 Subject: [PATCH] [Patch v2 10/11] perf-test: split basic into 00-new and 01-dump-restore --- c4/831dd115b99afe1291dd3b883c8cc1dc001c6e | 184 ++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 c4/831dd115b99afe1291dd3b883c8cc1dc001c6e diff --git a/c4/831dd115b99afe1291dd3b883c8cc1dc001c6e b/c4/831dd115b99afe1291dd3b883c8cc1dc001c6e new file mode 100644 index 000000000..9cfad3b1f --- /dev/null +++ b/c4/831dd115b99afe1291dd3b883c8cc1dc001c6e @@ -0,0 +1,184 @@ +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 + -- 2.26.2