Coincidently there's some more file-system news after just writing about the EXT4 and Btrfs file-systems with the Linux 3.0 kernel
. A Phoronix reader has pointed out that a developer at Tuxera is claiming their proprietary NTFS Linux kernel driver makes the Microsoft file-system the fastest choice under Linux. Reportedly this kernel driver that implements Microsoft NTFS support is about twice as fast as EXT4, the main Linux file-system of choice right now.
Anton Altaparmakov, a key developer at Tuxera and long-time Linux NTFS developer along with formerly spearheading Mac OS X NTFS support at Apple, has made some rather bold claims. Anton says that their proprietary NTFS kernel driver is much faster than EXT3/EXT4, and by the margins reported of 2x, it would also make it faster than any other file-system like Btrfs and XFS.
In an email earlier this month
to the Linux file-systems mailing list, Anton makes a rather bold statement:
Er, sorry to disappoint but the Tuxera NTFS kernel driver is faster than any user space NTFS driver could ever be. It is faster than ext3/4, too. (-: To give you a random example on an embedded system (800MHz, 512MB RAM, 64kiB write buffer size) where NTFS in user space achieves a maximum cached write throughput of ~15MiB/s, ext3 achieves ~75MiB/s, ext4 ~100MiB/s and Tuxera NTFS kernel driver achieves ~190MiB/s blowing ext4 out of the water by almost a factor of 2 and the user space code by more than a factor of 10. File systems in user space have their applications but high performance is definitely not one of them... You might say that ext3/4 are journaling so not a fair comparison so let me add that FAT32 achieves about 100MiB/s in the same hardware/test, still about half of NTFS.
For those not up to speed on NTFS Linux support, the common path for having read/write Microsoft NTFS file-system support under Linux is to use NTFS-3G. NTFS-3G uses FUSE, which is the file-system in user-space interface. By using FUSE, NTFS-3G is portable across operating systems much easier, to the point that this NTFS driver works not only on Linux but also the *BSDs, Solaris, and even Haiku and Mac OS X. The problem with FUSE-based file-systems is that there's greater overhead than if it was implemented as a native kernel module.
NTFS-3G was forked from the Linux-NTFS project five years ago and they did their 1.0 release with NTFS read/write support in 2007. [Additionally, earlier this year, NTFS-3G merged with the NTFSprogs project
.] Being born out of this open-source Linux NTFS work was Tuxera (originally NTFS-3G Technology Ltd), a small consulting company centered around the NTFS-3G code and other file-system work. Tuxera contributes to the open-source NTFS-3G, but they also commercially offer Tuxera NTFS for Mac OS X and they also have a proprietary version for Linux called "Tuxera NTFS." It's this proprietary "Tuxera NTFS" that Anton is claiming is so fast.
Beyond the initial claims by Altaparmakov about the Tuxera NTFS performance, he wrote a second mailing list message
about this kernel driver's performance. In there he comments that "the in-kernel Tuxera NTFS driver now outperforms all other file systems that have been tested (whether in kernel or in user space including ext*, XFS and FAT). The only file system approaching Tuxera (kernel) NTFS is Tuxera (kernel) exFAT which I also wrote and where I first developed the delayed metadata write idea." The performance of Tuxera NTFS and Tuxera exFAT (Microsoft's newest file-system that Tuxera is also working on Linux support code for) is so fast due to a delayed meta-data update model he developed.
Additionally, "I can't wait to have the time at some point to implement delayed allocation as well and then NTFS will perhaps become the fastest file system driver on the planet if it isn't already... (-:"
If we are able to get our hands on Tuxera NTFS to test these claims, we will be glad to do so. It would be quite shocking to see Microsoft's NTFS or exFAT file-systems under Linux blowing away the competition (Btrfs and EXT4) on their own field. Tuxera NTFS though is unfortunately not open-source at this point, but there's some hope that the license may change in the future. Anton Altaparmakov said, "Only problem is that Tuxera NTFS is not open source. )-: Hopefully one day it will be!!!"