Overview
This document focuses on specific benchmark examples to highlight the performance benefits of the Tuxera NTFS file system driver on Linux embedded and commodity hardware platforms. It presents comparisons of three file systems: the default and native Linux ext3, NTFS-3G and Tuxera NTFS. The results apply to any Linux installation including Android.
Tuxera NTFS
Unlike the over 30-year-old MS-DOS FAT, NTFS is a modern, 64-bit, high-performance file system which has scalability and performance built into it by design. For instance it uses B-Trees for directory indexing to achieve rapid, random file creation, removal and access, it has file extents to address continuous groups of blocks hereby eliminating disk seeks and CPU processing overheads, it compresses large metadata, furthermore it redundantly stores and utilizes vital information to optimize even more disk seeks away thus increasing read and write data streaming performance and reducing application I/O latency.
However the design of the file system is only one of the two most critical factors of the performance of the file system. The other one is the quality of the implementation. This is where Tuxera’s engineers excel. The open source NTFS-3G is a user space driver which significantly limits its performance capability. The Tuxera NTFS driver is a pure kernel driver with no user space components and this enables it to achieve the highest possible performance on Linux today by using fine-tuned kernel caching frameworks, direct access to hardware, eliminating expensive context switches, TLB flushes and paging activity.
If something still isn’t efficient then Tuxera NTFS uses advanced file system technologies like efficient caching, optional and speculative read-ahead, write-behind, optimal I/O scheduling, CPU specific assembly optimization, transparent large buffer support, workload specific heuristics, hardware acceleration and anything else which is needed to achieve the maximum performance Tuxera’s customers and partners expect. Tuxera’s developers are part of the Linux ecosystem for over a decade and work together with leading digital storage, chipset, software and Linux vendors to ensure the driver operates safely and efficiently.
Typically the performance bottleneck is a hardware component. Most often this is a bus interface, disk throughput or system memory bandwidth limitation. This is why the best ever performance is ”only” 8.2 GB/s. Of course this is much lower on most embedded and consumer electronic devices but the rule is the same: the speed limit is the hardware, or another device driver, or inefficiently coded software.
Tuxera NTFS has direct I/O, zero-copy and splice support which eliminates memory copies during data transfers if the two end-point devices, for instance a media encoder/decoder and network controller, support this. The performance limit is fundamentally the minimum value of what the two endpoints can support, or an intermediate hardware, or the memory subsystem.
Benchmark results
The charts below compare the performance of the ext3 Linux file system, the open source, user space NTFS-3G and the Tuxera NTFS kernel driver. The benchmark results are presented for both embedded and commodity hardware.
Embedded hardware: MIPS 24K, 333 MHz CPU, 96 MB RAM, Samsung HD103SI 1 TB SATA disk, SATA interface:

The same hardware, using the slower USB 2.0 interface:

In both embedded benchmarks the performance bottleneck was a hardware component in case of the ext3 and Tuxera NTFS kernel drivers. It’s either the Samsung disk speed (SATA case) or the maximum USB 2.0 speed limitation. On the other hand, the NTFS-3G performance bottleneck is the microprocessor because the driver’s CPU usage was always close to 100%. The Tuxera NTFS driver’s CPU usage was around only 15-40% to achieve the much higher, maximum transfer rate using the specific hardware and bus interface.
It is worth mentioning the CPU utilization for ext3 was higher than kernel NTFS which indicates NTFS is more efficient and leaves more CPU for applications to run.
Commodity hardware: Core2 Duo, T9300, 2.5 GHz, 4 GB RAM, RAM Device
Because the Tuxera NTFS driver easily achieves the maximum possible read and write speeds on much more powerful commodity hardware using only 3-10% of the CPU time, we tested the driver with a RAM Device. This method eliminates the slow physical disk, disk controller, and data bus bandwidth limitations and we can measure the possible maximum throughput using 100% CPU time.











