notmuch.git  about / heads / tags
Unnamed repository; edit this file 'description' to name the repository.
   commit de234097048c82be74dfb8ec265ac03704308a90 (patch)
   parent 8d06dfce emacs: Autoload notmuch-user-agent related functions
     tree fd7108589b05fcd13d8655cbec4d390494be07ce
   author David Bremner <david@tethera.net>  2023-09-30 08:40:50 -0300
committer David Bremner <david@tethera.net>  2024-04-05 07:33:41 -0300

perf-test/tag: add maildir sync tests

Today someone asked me the (reasonable) question of how much
performance impact there is from synching tags to maildir flags. It
turns out it is noticeable, about a 50% overhead compared to
non-synched tags (according to these tests).  In practice I don't know
if it's a big problem for users, since I don't know what fraction of
tagging operations involve "special" tags.
---
 performance-test/T02-tag.sh | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/performance-test/T02-tag.sh b/performance-test/T02-tag.sh
index 9c895d6a..47fdb0c2 100755
--- a/performance-test/T02-tag.sh
+++ b/performance-test/T02-tag.sh
@@ -11,4 +11,13 @@ time_run 'tag * +existing_tag' "notmuch tag +new_tag '*'"
 time_run 'tag * -existing_tag' "notmuch tag -new_tag '*'"
 time_run 'tag * -missing_tag' "notmuch tag -new_tag '*'"
 
+time_run 'tag * +maildir_flag F' "notmuch tag +flagged '*'"
+time_run 'tag * -maildir_flag F' "notmuch tag -flagged '*'"
+time_run 'tag * +maildir_flag P' "notmuch tag +passed '*'"
+time_run 'tag * -maildir_flag P' "notmuch tag -passed '*'"
+time_run 'tag * +maildir_flag D' "notmuch tag +draft '*'"
+time_run 'tag * -maildir_flag D' "notmuch tag -draft '*'"
+time_run 'tag * +maildir_flag S' "notmuch tag -unread '*'"
+time_run 'tag * -maildir_flag S' "notmuch tag +unread '*'"
+
 time_done


glossary
--------
Commit objects reference one tree, and zero or more parents.

Single parent commits can typically generate a patch in
unified diff format via `git format-patch'.

Multiple parents means the commit is a merge.

Root commits have no ancestor.  Note that it is
possible to have multiple root commits when merging independent histories.

Every commit references one top-level tree object.

git clone https://yhetil.org/notmuch.git