X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=performance.mdwn;h=e838c8a64f17693cad4d7661081f07c37aa71412;hb=cccb44571b0e004c498355efb08602024bb8df81;hp=aa1029bd3e3b8dadaf2e947b027bdb36cec54cc6;hpb=be39bee69bab9b08da8356cecf73931261aee803;p=notmuch-wiki diff --git a/performance.mdwn b/performance.mdwn index aa1029b..e838c8a 100644 --- a/performance.mdwn +++ b/performance.mdwn @@ -1,5 +1,7 @@ # Optimize notmuch's performance +[[!toc levels=2]] + ## Xapian 1.2.x database format: chert vs. flint Xapian 1.2 (in contrast to 1.0.x) uses a new database format called @@ -18,21 +20,21 @@ database format, but also used in case of `chert`. ### Migrate from flint to chert -1. make sure you are using xapian 1.2.x (depends on your distribution) +Make sure you are using xapian 1.2.x (depends on your distribution) -XXX: add examples +XXX: add examples for different distributions -2. Backup your notmuch tags +Backup your notmuch tags: $ cd $ notmuch dump notmuch-dump-b4chert -3. Move away your old database +Move away your old database: $ mv $(notmuch config get database.path)/.notmuch/ notmuch-db-b4chert -4. Find and import your messages, a new and fresh database will be -created. +Find and import your messages, a new and fresh database will be +created: $ XAPIAN_PREFER_CHERT=1 notmuch new @@ -44,23 +46,21 @@ somebody more knowledgeable. After the initial import it is definitely not necessary to define `XAPIAN_PREFER_CHERT` for subsequent calls of `notmuch new`. -5. Restore your tags +Restore your tags: $ notmuch restore notmuch-dump-b4chert -6. Check whether you are on chert now. +Check whether you are on chert now: $ ls $(notmuch config get database.path)/.notmuch/xapian/iam* iamchert -If it says `iamflint`, most likely you are still using xapian 1.0.x. - -7. Clean-up + If it says `iamflint`, most likely you are still using xapian 1.0.x. -If you are sure everything is fine, you can delete the old things. The -dump of your tags you might want to keep anyway as a backup - on the -other hand you should have some mechanism in place to make regular -backups of your notmuch database. +Clean-up: if you are sure everything is fine, you can delete the old +things. The dump of your tags you might want to keep anyway as a +backup - on the other hand you should have some mechanism in place to +make regular backups of your notmuch database: $ rm notmuch-dump-b4chert $ rm -R notmuch-db-b4chert @@ -101,3 +101,17 @@ Remove old and renamed compacted, if compacting went well: * [Pieter Praet](http://notmuchmail.org/pipermail/notmuch/2011/004175.html) + +## Tagging: use filters! + +Instead of just: + + $ notmuch tag +foo + +use: + + $ notmuch tag +foo -- not tag:foo + +See the ongoing discussion: + +* [Optimization for notmuch tag by implicit filters](http://notmuchmail.org/pipermail/notmuch/2011/004197.html)