please eat my data!

racin at free.fr racin at free.fr
Mon Apr 12 07:41:21 PDT 2010


----- "Jameson Rollins" <jrollins at finestructure.net> a écrit :

> On Mon, 12 Apr 2010 15:33:35 +0200, "Sebastian Spaeth"
> <Sebastian at SSpaeth.de> wrote:
> > 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.
> 
> Wow, this is really interesting, Sebastian.  For those of us not in
> the
> know, can you explain what libeatmydata is and how it's used?  It
> sounds
> like something I would *not* want to use!  So you didn't have to
> recompile here, and only had to set LD_PRELOAD=./libeatmydata.so?  Is
> there any drawback to what you're doing here?
> 
> jamie.
> 

It seems like it is a small library that implements fsync as no-op. Using LD_PRELOAD 
allows to overloads the libc's fsync definition by libeatmydata's one. Making writes faster,
but no longer crash-safe.

Matthieu


More information about the notmuch mailing list