On Wednesday 17 August 2011, James Tunnicliffe wrote:
m s
ext4 3:30 ext3 8:30 ext2 5:00 btrfs 13:40 nilfs 10:40 logfs 10:00
this is using default mount options for file system but with noatime.
These timings also bear out preliminary results from my simulation code. Which I'm glad of :-)
This is odd. When I performed tests btrfs and ext4 were both about the same speed for copying a mixture of large and small files to. I was testing them using my laptop card reader though. Tixy: Do you get similar btrfs vs ext4 results using the same card on an x86 host? Is your host 64 or 32 bit? I can't find any warnings about btrfs being slow on 32 bit systems during a quick search, but ZFS certainly works better on 64 bit systems. Perhaps btrfs is more optimal on 64 bit systems as well.
I'm pretty sure that it has little to do with the kind of host and much more with the specific card that you use. Based on the theoretical understanding of how the cards work, it is very likely that some (good) media work better with ext4 than others that would still be ok on btrfs. Also, I would expect ext4 to cope better with full drives than btrfs.
This is of course the data that we hope to get out of Tixy's research.
One thing I noticed during Ubuntu boot on my Panda was that the mount process would say that it detected btrfs was running on a flash card and it had enabled flash mode. I don't know what is different in flash mode and I don't know if when I let Ubuntu auto-mount a flash card for testing on my Laptop if it enabled it. The only mount option I can find that sounds right is "ssd", which isn't on when I just tested it now.
Good point. Tixy, do you know what mode you were testing btrfs with?
btrfs understands the 'ssd', 'ssd_spread' and 'nossd' mount options that should have a significant impact here, although it's not clear which of these is best for a flash memory card, since the characteristics of SD cards are very different from SSD.
The version of btrfs that I'm looking at does not have any optimization for cheap flash drives, only for SSD.
Arnd