Chris Mason
2008-Feb-01 12:11 UTC
[Btrfs-devel] More performance fixes pushed out to btrfs-unstable
Hello everyone, Unfortunately, this does include a disk format change, but this set of fixes brings benchmarks back up to where they were before the back pointers. There are some tweaks for the block allocator that give small benefits, but most of the speedup comes from these two changes: * When allocating extents, insert the extent record and the first backref in a single tree insert. (25% faster on creating 1 million empty files in a single dir). * When inserting back refs for file data extents, hash the offset of the extent in the file when creating the key. For extents with many references, this makes a huge difference in CPU time spent creating the back ref. For the random write phase of tiobench, btrfs v0.11 writes at 2MB/s, using 100% system cpu time. The changes I just pushed out change that to writing at disk speed. The bad news is that changing the hashing is a disk format change. I had originally planned on including the file offset in the hash, but missed it when finishing off v0.10. (whoops). -chris