alphaleonis / AlphaFS

AlphaFS is a .NET library providing more complete Win32 file system functionality to the .NET platform than the standard System.IO classes.
http://alphafs.alphaleonis.com/
MIT License
558 stars 99 forks source link

AlphaFS Performance #512

Open sdebussc opened 5 years ago

sdebussc commented 5 years ago

I have a question regarding the performance of AlphaFS. I was able to easily integrate AlphaFS into my application, but I am getting 3 times slower performance than .NET when enumerating folders and files. Do you have any suggestions for improving AlphaFS performance? Have any performance metrics been generated that you can share? I am using 2.2.6.

sdebussc commented 5 years ago

BTW... My test was enumerating about 55,000 files on a local drive that were not long file paths. I compared regular .NET (4.6.1) to AlphaFS. I also tested .NET 4.6.2 long path support. 4.6.2 had twice the performance of AlphaFS for long file paths and the same performance as regular .NET with short file paths. 4.6.2 is only supported on Win10 or later though...which is not ideal for me.

Yomodo commented 5 years ago

If I remember correctly, thanks to the new Span<char>, enumeration can be way faster. See: https://github.com/alphaleonis/AlphaFS/issues/483