please eat my data!
Sebastian Spaeth
Sebastian at SSpaeth.de
Mon Apr 12 06:33:35 PDT 2010
fsync is really killing xapian (and notmuch). What suffers, are the
boolean prefixes (tag, id, and thread). Using libeatmydata (which
disables fsync) shows a 10x speedup for tagging. The speedup is only
factor 2 for e.g. from: searches. This is ext4 on recent stock
Ubuntu. Given that search by tag and thread are performed really often
(each time I advance a thread, for example), that really hurts.
With a warm file cache and a thread containing 11 messages:
---------------------------------------------------
time notmuch tag +test -- thread:0000000000000f4e
real 0m0.677s
user 0m0.030s
sys 0m0.020s
---------------------------------------------------
time LD_PRELOAD=./libeatmydata.so notmuch tag +test -- thread:0000000000000f4e
real 0m0.040s
user 0m0.020s
sys 0m0.020s
---------------------------------------------------
However tagging ~850 messages based on a from search is "ONLY" factor 2:
------------------------------------------------------
time notmuch tag +test -- from:"sebastian at sspaeth.de"
real 0m2.355s
user 0m1.240s
sys 0m0.040s
---------------------------------------------------
time LD_PRELOAD=./libeatmydata.so notmuch tag +test -- from:"sebastian at sspaeth.de"
real 0m1.286s
user 0m1.230s
sys 0m0.010s
---------------------------------------------------
More information about the notmuch
mailing list