Alternative (raw) message store (i.e. instead of maildir)
Ciprian Dorin Craciun
ciprian.craciun at gmail.com
Mon Aug 13 12:10:23 PDT 2012
On Sat, Aug 11, 2012 at 11:50 PM, Jameson Graef Rollins
<jrollins at finestructure.net> wrote:
> On Sat, Aug 11 2012, Ciprian Dorin Craciun <ciprian.craciun at gmail.com> wrote:
>> My problem with it is that it doesn't scale... And I don't mean
>> this in a theoretical sense, I mean it in the concrete one: I have
>> about 661k emails... And a single `notmuch sync` takes a few tens of
>> seconds...
>
> Hey, Ciprian. That sounds really slow, which makes me wonder if there
> are other things going on here.
> I have 155k messages, but notmuch new
> takes a fraction of a second for me. This initial indexing certainly
> takes a long time (hours potentially), but additions after that should
> be really fast. What version of notmuch are you using? What version of
> xapian?
Don't think there is anything wrong here... Its just drags with
the file system...
So just to give a complete info:
* hardware: Core i5, 8GiB RAM (7.5GiB of which is the FS cache),
SSD (about 175MiB raw disk access);
* `notmuch --version`: 0.13 (built from sources on latest ArchLinux);
* `notmuch count`: 701820;
* `notmuch new` (after adding 5925 new emails, at touching others):
~~~~
Processed 7017 total files in 3m 19s (35 files/sec.).
Added 6061 new messages to the database. Detected 1116 file renames.
~~~~
* actually the entire thing took almost 5 minutes, but the first
two it didn't display anything just acesing the disk;
* `notmuch new` (another go, but this time I've `time`-d it):
~~~~
No new mail.
real 0m40.546s
user 0m4.523s
sys 0m17.506s
~~~~
* `notmuch new` (yet another go, no change):
~~~~
No new mail.
real 0m39.190s
user 0m4.229s
sys 0m17.697s
~~~~
* just to `du` the maildir (there are also 40k other files in
other maildirs not included in this count):
~~~~
8.7G ......
real 0m22.229s
user 0m1.023s
sys 0m7.890s
~~~~
* on `new` no hooks are run;
* the file system in cause is JFS;
As such I doubt the problem is with notmuch itself, and I guess
it's the file system interaction...
Now I know I have a really obscure corner case, and I'm positively
amazed on how good notmuch handles this situation. I just wandered if
I could have fixed my problem by moving to an embedded DB, thus
skipping all that syscall overhead...
Ciprian.
More information about the notmuch
mailing list