Conclusions and final thoughts
Ok, it is time to draw some conclusions. Keeping in mind that in many benchmarks all the contenders shows similar results and that, on the other side, each filesystem win some benchmarks, we can state the following:
- ext3 can generally be avoided: it is often slower than ext4 or xfs, yet it has the more limited feature set; for example, it is quite prone to fragmentation. However, its greatest limitation came in the form of the maximum volume size of “only” 2 TB: with todays drive capacities (up to 4 TB for a single drive), it will quickly give up - UPDATE 2011/10/20: a reader pointed to me that, if you use bigger block size (eg: 4 KB blocks), EXT3-based volumes can grow up to 16 TB in size. This will, however, cause somewhat greater wasted space. Thank you for the correction! In any case, this does not change the fact that ext3 is vastly obsoleted by its successor, the ext4 filesystem.
- ext4 and xfs are two mature, reliable filesystems that can be used everywhere, form server space to laptop hard disk. Ext4 has very good write and metadata performances, but slightly lower read speed than xfs;
- btrfs is generally slower than ext4 or xfs, but it has many unique features (eg: snapshots).
In light of these considerations, for the general Linux user I recommend the use of ext4 or xfs. Remember that ext4 great metadata handling should give you shorter waiting times when you are managing large number of small file – for example, during system updates. On the other hand, very good read speed and fragmentation resilience give xfs an edge in mostly-read tasks – which are the tasks commonly executed by home users.
Some words for btrfs: its main point is to be a feature rich filesystem, not the fastest one. On the other hand, these advanced features are built primarily for server environments; home users will rarely use the advanced btrfs capabilities to full extent. Moreover, it remain a very young filesystem: it is probably too much untested to be used to keep vital data and applications. Let it mature and then Linux users will have a very good, flexible filesystem.
Have a nice day!