Tuxera NTFS vs Paragon NTFS Mac Benchmarks

March 31st, 2010
by Cody Konior

Revision History

31-Mar-2010: Original Article.
15-Apr-2010: Added Retest Results and Commentary (skip to the bottom of the page).

Introduction

There are two main software products for Mac users who want write access to NTFS partitions – one by Tuxera and the other by Paragon.

Tuxera provides two versions, a free one named NTFS-3G (10.1.16) and a paid one that should give faster performance named Tuxera NTFS (10.1). Paragon is of a comparable price to Tuxera NTFS and is currently at Version 7, with a release candidate of Version 8 available that should also give faster performance.

In a perfect world, these two products should give comparable file system performance to the same system accessing a HFS+ partition, or the same system running Windows natively. That is the gold standard.

I could not find any existing benchmarks that compare these vendors and versions against the gold standard so I decided to try it myself. Why bother? Because I was using NTFS-3G and it was taking forever to move files around, and I thought their must be a better way.

The Hardware

Testing was conducted on MacBook Pro 2.26 GHz Intel Core 2 Duo with 4 GB 1067 MHz DDR3 running Snow Leopard 10.6.2 and no other software or devices running in the background.

On this, Parallels Desktop 5 was used to virtualise a dual-core processor with 1 GB memory running Snow Leopard 10.6.2 and Windows 7 Ultimate x64. Performance options were set to favour the virtual machine, and power options were set to favour performance.

After each product was tested, the virtual machine was rolled back to a snapshot of the original installation, leaving a clean slate for the next product.

The benchmark drive was a Western Digital Passport Essential 1TB connected by USB directly to the virtual machine. The NTFS partition was empty and freshly formatted, occupying the last half of the disk. These drives come with a Western Digital Turbo USB driver which was installed on both the host and the guest.

The Software

Benchmarking was done using IOzone 3.345 compiled as 64-bit for Mac and IOzone 3.344 pre-compiled as 32-bit for Windows. IOzone has a lot of flexibility in allowing for thorough testing, but some sacrifices had to be made for the purposes of saving time.

Specifically, only unbuffered read/write and reread/rewrite tests were run (as opposed to random, buffered, and memory mapped tests). Also the maximum file size used was equal to the total memory (1GB) instead of double (2GB) which would be required to fully see the effect of caching (at the cost of much more time).

The command-line used for all testing was: iozone -Ra -g 1G -i 0 -i 1

Notes

There are numerous variables that may skew the results of the benchmark, so in the interests of being open here are some things to keep in mind.

  • By running in a virtual machine the guest can be affected by operations run on the host. I attempted to minimise the affect of this by closing all programs on the host system while the tests were running and unplugging all devices.
  • NTFS-3G comes with two options, one to use no caching layer and one to use an UBLIO caching layer which is said to increase performance. For this comparison, only the UBLIO caching layer was used.
  • There are likely other factors that could affect your purchasing decision that this benchmark does not take into account, for example: support, stability, reliability, and other benchmarks that are not related to throughput; for example reading, writing, and constructing metadata.

Also, charts should not be used for direct comparison with each other as colours and axis max ranges may be different. I left the charts as Excel made them in order to retain detail.

NTFS-3G Results and Interpretation with UBLIO

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 200 2607 2162 5051 3022
128 2556 3431 3261 3486 10378 11963
256 4473 4612 5109 5294 5439 5185 5565
512 4081 4787 5866 6338 10732 10061 8604 10173
1024 4935 3040 4201 7767 2908 5069 7252 6599 7918
2048 4028 5782 6692 7415 11194 12566 12902 12285 13304 13453
4096 5005 5841 6867 7171 7514 8289 8085 7297 6622 4562 6971
8192 3857 5925 6708 7420 13190 9944 12749 13130 12519 13099 13360 12643
16384 4262 5247 6052 6599 6980 6592 6722 6805 6826 6757 6819 6771 6911
32768 0 0 0 0 6296 6865 7441 7616 6509 7142 7462 7682 7185
65536 0 0 0 0 6630 8238 8045 8271 8077 8141 8177 8269 8274
131072 0 0 0 0 6740 8154 8134 8187 7874 8153 8085 8014 8060
262144 0 0 0 0 6725 7952 7900 7701 7583 7741 7761 7776 7529
524288 0 0 0 0 6342 7669 7669 7849 7337 7710 7706 7700 7489
1048576 0 0 0 0 6309 7719 7621 7525 7548 7532 7610 7620 7493

The initial spikes appear to be a cache buffering writes up to 32M in size at up to 14MB/s, while larger files show a throughput of about 8MB/s.

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 282027 69116 78334 453587 282919
128 120867 136719 145107 360605 143632 162010
256 122254 128441 114755 507006 460476 102850 146449
512 216856 125365 139060 302940 182209 162949 130977 130547
1024 87799 127523 144204 275940 161843 168861 523278 157997 169314
2048 95571 122414 105604 138322 178615 162194 180041 147348 161350 153075
4096 100503 116330 120857 135463 142459 152064 156491 158808 156640 142907 141568
8192 89494 97366 97246 121236 140811 146589 147550 147648 157287 153900 143588 142264
16384 91126 104149 115172 108147 126792 132854 146221 137799 149079 141259 126966 143682 138997
32768 0 0 0 0 120954 136286 143536 149305 147788 140748 140966 142460 127583
65536 0 0 0 0 14528 14657 14885 14546 14546 14543 14310 14731 14654
131072 0 0 0 0 15603 15766 15592 15620 15427 15725 15295 15389 15586
262144 0 0 0 0 16069 15853 15996 15849 15809 15739 15584 15860 15588
524288 0 0 0 0 16044 15942 16025 15983 16192 16259 15697 15533 16176
1048576 0 0 0 0 15767 15612 15793 15929 15681 15642 15966 16075 15911

Here two cache readings are likely, the initial spikes being CPU cache of 1MB at up to 50MB/s, while the next plateau is a software or operating system cache up to 32M in size at 18MB/s, and the final plateau being the throughput for larger files at about 15MB/s.

Tuxera NTFS Results and Interpretation

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 4904 2443 7964 2700 24999
128 6604 8188 13596 4484 19894 32233
256 6427 5151 14597 8426 20721 10932 27886
512 6359 12001 11004 9340 5254 11817 16448 18591
1024 6302 7442 10577 9990 16206 9376 9239 17756 7273
2048 4896 6079 9936 12222 18938 12401 10022 8673 13163 10108
4096 4143 7414 13211 25189 18557 17904 16677 13678 24172 12670 34576
8192 6115 12532 18361 25144 22479 33543 48330 31604 47414 25656 26065 32735
16384 5138 7570 9109 10787 14549 12870 38382 13039 11752 11270 46429 12135 13775
32768 0 0 0 0 13051 18190 16822 17459 16369 16097 13329 11322 12584
65536 0 0 0 0 12051 16407 23924 23913 24352 24468 24884 24831 24763
131072 0 0 0 0 22079 23508 22375 23012 23271 22541 22792 22834 23152
262144 0 0 0 0 23979 22906 22984 22296 22418 22605 21592 22203 22295
524288 0 0 0 0 21383 22386 22484 22195 21904 22110 22123 22187 22048
1048576 0 0 0 0 20352 21979 22015 21780 21798 21509 21681 21800 21813

Tuxera NTFS write throughput appears to be better than NTFS-3G. Small files have better performance up to 32MB/s, while a cache operates at the 8MB mark at up to 49MB/s, and the final plateau for large files still transfers at up to 24MB/s. That is about on par with Windows 7 performance.

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 262450 196972 219883 72066 412466
128 49555 37092 52568 129685 127226 131399
256 273508 91656 85558 87582 179651 638445 567575
512 66089 104232 87385 126951 136749 70855 96638 129915
1024 58414 78185 86435 105652 125247 139416 136059 104906 138561
2048 72531 72275 171364 111242 120675 130221 96521 132953 113885 133602
4096 56413 68292 91251 102048 115043 127948 130967 136592 133934 124897 127228
8192 61266 75131 91522 105738 123509 121070 130087 135955 126143 126523 128206 128282
16384 66627 78997 93039 104647 119779 129081 128401 134009 136683 136699 133321 134539 133769
32768 0 0 0 0 120503 124358 133053 134947 134559 133774 130273 128043 136316
65536 0 0 0 0 11887 20796 20881 20723 20429 20718 20622 20517 20614
131072 0 0 0 0 22813 22337 22847 22994 22576 22332 22653 22561 22096
262144 0 0 0 0 23767 22361 23828 23932 23966 23255 22752 23009 23216
524288 0 0 0 0 24061 23663 23822 23655 23926 23730 23613 23525 24196
1048576 0 0 0 0 23880 24025 23930 24377 24258 23546 24002 23727 24348

Here the scale changes completely as what appears to be CPU cache buffers files up to 32MB in size and at up to 135MB/s. The final plateau for larger files goes up to 25MB/s.

Paragon NTFS 7 Results and Interpretation

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 1372 15940 44108 38120 65236
128 25518 42009 42792 102892 67228 63304
256 25579 44221 77927 78502 84150 107247 109444
512 23900 32215 56200 72634 74953 73196 86589 49578
1024 26163 48990 63027 67345 83447 85526 87911 88827 88405
2048 28843 30972 57776 70450 74469 85504 83704 89459 97034 100190
4096 33932 51881 58981 80999 78194 92955 88705 96446 87898 93575 89444
8192 35872 48650 61460 74961 80010 90986 68438 96352 93344 100341 95656 80408
16384 20766 33191 36346 41422 40982 38497 42157 43627 43546 43463 43703 42208 34918
32768 0 0 0 0 28130 34724 33486 34291 34398 29832 35031 33440 32317
65536 0 0 0 0 29009 30496 32281 31903 32224 30624 31139 30577 25354
131072 0 0 0 0 23506 28330 29697 28578 30258 29941 30231 26005 27204
262144 0 0 0 0 25217 28201 26557 28131 29501 28736 28951 28857 29475
524288 0 0 0 0 26828 32816 32827 32785 33009 33625 33748 33845 33548
1048576 0 0 0 0 31807 32696 33033 32780 32632 33131 32560 32769 32762

While the graph appears somewhat similar to those previous, the scale is on a completely different level. A much more evenly distributed cache scheme is present, with files up to 8MB at up to 93MB/s, and a second plateau for larger files at up to 33MB/s. Later you’ll see, this is faster than Windows 7.

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 65173 58921 17897 111671 68956
128 41666 37026 31991 35117 77338 102813
256 69395 61909 71607 42306 119626 98167 98392
512 34917 76486 66475 89823 85690 113426 86708 98482
1024 30429 51067 58202 73988 67222 88735 95389 89975 57447
2048 33020 59032 61629 77713 82914 92227 94827 98608 95746 95803
4096 31160 59260 67695 76024 80073 87262 86627 94821 95833 102893 91277
8192 48385 59902 71147 81052 88986 95050 92912 96133 95564 93828 94089 94689
16384 46483 54866 49686 80826 86247 92884 96910 95302 94908 96885 96643 88544 95750
32768 0 0 0 0 86246 86516 97475 94838 93277 94035 96825 97949 96529
65536 0 0 0 0 86750 94680 95267 94648 96710 97237 96991 96306 97259
131072 0 0 0 0 90052 93688 95284 96102 96659 97445 97658 96788 96331
262144 0 0 0 0 88164 95086 94735 96255 90605 96589 91541 97012 97039
524288 0 0 0 0 141391 152457 149047 147919 148420 146750 148808 147538 146060
1048576 0 0 0 0 39261 40753 39249 39341 40160 40151 40925 40709 40590

Read performance for files up to 256MB sits just under 90MB/s, with a much faster cache at 141MB/s for files up to 512MB in size, and a plateau of up to 40MB/s for larger files.

Paragon NTFS 8 RC Results and Interpretation

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 46889 57397 17997 70018 69187
128 48985 60094 114794 57163 64715 392792
256 46310 89764 72068 124624 147212 94330 121096
512 87807 37015 82065 54618 92872 115184 211578 121444
1024 58881 75305 129196 99950 148123 109860 95620 98177 196092
2048 55659 79732 96891 107220 94635 95575 113174 152917 111364 127322
4096 59275 78928 75479 92970 116483 81515 86854 94076 90445 119706 103021
8192 57773 84706 101428 104959 72946 123546 127387 114770 107907 105224 95515 104063
16384 31391 43791 46870 40728 47242 50650 49654 47705 50359 50377 42272 41120 44056
32768 0 0 0 0 34435 38521 37020 36505 40002 39082 38652 38257 38751
65536 0 0 0 0 30809 33568 34659 33833 35114 34308 35213 34631 35090
131072 0 0 0 0 30152 32986 33629 33415 33402 32651 33174 33359 33141
262144 0 0 0 0 29713 32072 32558 32311 31924 32834 32220 33192 32443
524288 0 0 0 0 29912 31831 32069 29088 31884 31165 31813 31933 31192
1048576 0 0 0 0 16047 17205 16112 17327 17671 16464 17486 17346 17306

In this graph a mix of spikes represent CPU cache with a general cache operating all the way to the 8MB line giving up to 128MB/s. This steadily decreases to the throughput for larger files at up to a disappointing 17MB/s. This could be a bug as it is so different to Paragon NTFS 7.

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64 68586 151675 262450 78242 229274
128 98984 101838 70061 120650 123084 106674
256 135525 121439 132237 122492 111699 123848 541253
512 48873 72460 356322 122490 155865 133022 156057 618371
1024 89778 97070 106811 483950 207498 105525 136805 437779 144025
2048 109056 96476 121255 118279 110679 119411 125536 126779 188112 129973
4096 67334 79096 99880 164405 122320 125413 106249 110918 101529 110969 110894
8192 74673 96141 110686 131410 118359 120813 133882 119300 122214 116271 115318 138591
16384 77063 95343 121924 116125 121729 125936 125523 124266 124104 122867 109039 120658 120096
32768 0 0 0 0 125999 126730 126261 126538 125636 113608 123536 122189 124929
65536 0 0 0 0 124372 126060 127338 128106 124876 123693 125168 124044 122685
131072 0 0 0 0 125628 126578 128984 126865 127768 118841 124752 124761 123347
262144 0 0 0 0 124932 125854 126592 126330 125776 124505 123168 123837 123611
524288 0 0 0 0 122257 123530 122695 123168 120530 120752 120626 121167 119595
1048576 0 0 0 0 38732 38949 39016 38679 39493 40429 41037 40602 40579

More CPU cache spikes are present here, along with a general buffer for files up to 512MB at 122MB/s, and for larger files 39MB/s.

Windows 7 Results and Interpretation

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64
128
256
512
1024
2048
4096
8192 162115 183171 575763 528820 278146 278818 489804 293850 520892 388984 292960 198305
16384 180866 230922 254161 236417 227072 305900 385434 396651 270149 293215 305000 329975 346869
32768 0 0 0 0 290256 273453 252214 295537 297223 297164 325486 303438 287345
65536 0 0 0 0 281242 295964 305000 292047 319834 307707 267211 284234 295530
131072 0 0 0 0 223685 277686 270657 280725 238930 256813 260951 289879 259183
262144 0 0 0 0 32702 33909 33712 33466 33585 33744 34549 34629 35186
524288 0 0 0 0 23361 23673 23204 23562 23147 23552 23646 24601 24425
1048576 0 0 0 0 20169 20201 20334 20571 20070 20812 20620 20981 21267

And finally, the gold standard. Smaller file sizes had to be removed due to inconsistent timing data. Write performance seems operate within a cache area up to 128MB in size at up to 280MB/s, while larger files plateau at 21MB/s.

4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384
64
128
256
512
1024
2048
4096
8192 235828 302399 314702 560820 400897 389905 443336 602090 610934 569844 417828 698497
16384 228150 359810 371121 385125 400112 385234 377077 451761 359415 580625 398492 342154 336592
32768 0 0 0 0 490540 368813 386611 329966 358512 345771 321813 314215 369992
65536 0 0 0 0 376194 394372 381800 375382 363674 356334 353794 316961 340411
131072 0 0 0 0 386644 399769 382750 355113 336924 291275 331400 324631 332549
262144 0 0 0 0 374430 381269 394663 365664 344670 337592 333725 328724 328183
524288 0 0 0 0 378388 376095 387549 347517 337717 335846 328722 339163 311921
1048576 0 0 0 0 21702 23359 24116 24176 24301 24194 24270 24063 21952

For reading files, a cache operates between 8MB and 16MB at up to 560MB/s, between 32MB and 512MB at up to 400MB/s, then plateaus at 25MB/s for larger files.

Conclusion

There is so much data it appears to almost be all over the place. But I think it is safe to say the following:

  • When comparing NTFS-3G to Tuxera NTFS, Tuxera wins by a long shot as it is much faster writing and reading, with almost quadruple the write speed on large files.
  • When comparing Paragon NTFS 7 and 8 RC, the results are mixed with 8 RC faster at reading and writing smaller files but crippled at half the speed when writing larger files.
  • When comparing Tuxera NTFS to either edition of Paragon NTFS, it lags far behind in caching and writing smaller files, and also at any file reading activity, but when writing the largest files it is faster than Paragon NTFS 8 RC. This could be due to a bug in the RC code.

For copies of the table data and more graphs, please feel free to download the attached Excel spreadsheet linked at the bottom.

Retest Results and Commentary

15-Apr-2010: I performed a simple retest to validate the results. This was on the same MacBook Pro and Passport Essential 1TB, but without any virtual machine. As this machine has 4GB of memory, I used an 8GB test file writing in 4KB increments to eliminate memory cache issues (and also as performing a full suite of tests would have taken weeks). 4KB is a standard NTFS cluster size.

Write Re-write Read Re-read
NTFS-3G 7563 8452 26512 26498
Tuxera NTFS 18227 21556 33131 33217
Paragon 7 26238 27936 37399 40105
Paragon 8 RC 27041 28472 36452 38706

When comparing to my original virtual machine tests, NTFS-3G had similar write speeds but almost double read speeds. Tuxera NTFS had similar but better write speeds and almost double read speeds again. Paragon NTFS 7 which had better read and write speeds, and Paragon NTFS 8 RC had much better write speeds and better read speeds.

As you can see, all products were affected either by running in a VM or because of the low-VM memory constraint, and Paragon NTFS 7 or 8 RC still make the best choice if you’re after any kind of NTFS performance.

Please note that since writing this review, I have received a free copy of Paragon NTFS 8 for my own use as a reward for testing it, however it has in no way affected the results or my presentation of the results.

Links

Paragon Software
Tuxera Software
NTFS-3G for Mac
IOzone Benchmark


Original Benchmarks Spreadsheet (Excel)
Retest Benchmark Spreadsheet (Numbers)


7 Responses to “Tuxera NTFS vs Paragon NTFS Mac Benchmarks”

  1. JimmyR Says:

    Interesting experiment! Unfortunately I don’t understand anything from these numbers and what they matter in real life.

    Perhaps it would be more useful to measure the performances of copying large files and folders? Just an idea …

    Greetings, Jimmy.

  2. Cody Konior Says:

    Hi Jimmy,

    I should have described the benchmark process better. What it’s doing is writing a series of files from small (64kb) to large (1gb), and reporting how long it took.

    It adds an additional factor of buffer size, which is in what increment the software is writing to disk. The idea of that being to point out any tweaks or optimisations that may alter performance, or internal caching being done.

    I think the best indication of throughput is just looking at the last row of data in each table. It “should” be the most accurate, at least when transferring large amounts of data.

    I hope that clears it up a little.

  3. Daniel Says:

    Cody: that was an excellent job, congrats!
    I was looking for a ‘serious’ comparison between the 3. I tested NTFS-3G and Tuxera-NTFS. NTFS-3G is unbearably slow for writing large files (like 1080 mkvs that usually are 15-25 GB).
    Tuxera worked excellent for me, but I find it too much expensive (25EUR in Spain) for this kind of tool.
    From your results, Paragon NTFS 7 seems the best option in my case. I will ty it!

  4. PowerPatrick Says:

    Hello Cody.

    Really great benchmarking!

    Well, I want you to update some of the results, because Snow Leopard does actually have a hidden native support for writing to NTFS file systems. I wanted to do the benchmarking myself, but haven’t got the right time to do it. I think you will find the following interesting links interesting:
    http://www.macosxhints.com/article.php?story=20090913140023382
    http://www.insanelymac.com/forum/index.php?s=&showtopic=199658&view=findpost&p=1346907

  5. Cody Konior Says:

    Thanks. I didn’t benchmark the native NTFS driver because it’s written all over the net that it’s so buggy it can cause extreme data loss. I guess the speed test would be interesting but I wouldn’t want to encourage anyone to use something that’s apparently so dangerous.

  6. PowerPatrick Says:

    Well, I am aware of its unstability, and it have caused data loss and such, which at least could be recovered. But as everyone else, you can just place a clear warning about using it.

  7. Robert Altman Says:

    I can’t add anything with respect to the test results; however, I would add one comment with respect to licensing:

    I recently got a new Mac. I am the sole user of both machines; the older machine is a hot stand-by (in case the newer one needs repair, etcetera). When I asked Paragon about having the NTFS for Mac installed on both machine (given that it is single-user, non-parallel use), they said it requited two licenses. Tuxera clearly states on their web site that the software is licensed to the user — irrespective of how many Mac’s they use.

    Tuxera is a little less clear on business use: they say you need one license for everyone in the company: it’s hard to imagine that they expect me to purchase 10,000 licenses if I am the sole user of a Mac computer at a large corporation, so I suspect that the text on their product page was poorly worded.

    The products are comparably priced: about $31 (Tuxera) vs. about $40 (Paragon).

    At time of this comment, Paragon claims Snow Leopard 64-bit mode support, while Tuxera says they are not compatible with the purely 64-bit kernel. This may not be a significant concern unless you need to install this on XServe.

Cody Konior is Digg proof thanks to caching by WP Super Cache