----- "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