Esto es una idea remota, ¿pero hay una forma más rápida de obtener tamaño, tiempo de lastacceso, tiempo de última creación, etc. para múltiples archivos?¿Forma más rápida de obtener múltiples FileInfo?
Tengo una larga lista de rutas de archivos (así que no necesito enumerarlas) y necesito buscar esa información lo más rápido posible. Crear archivos de información en paralelo probablemente no ayude mucho ya que el cuello de botella debería ser el disco.
El Diario NTFS solo mantiene los nombres de los archivos por desgracia, de lo contrario, "será genial, supongo que el sistema operativo no almacena esa meta información en algún lugar".
Otra optimización que podría hacerse si hay una llamada estática o Win32 (métodos de archivos sólo se permite que consiga una pieza de información a la vez, aunque) método que obtiene la información más bien que la creación de un grupo de FileInfo objetos
de todas formas, contento si alguien sabe algo que podría ayudar, por desgracia, tiene que tener que hacer la optimización de micro aquí y no "el uso de una base de datos" no es una respuesta viable;)
Eche un vistazo a FluentPath disponible a través de NuGet. http://weblogs.asp.net/bleroy/archive/2010/11/19/fluentpath-1-0.aspx – jvanrhyn
Según tengo entendido, es una mejor biblioteca para trabajar con rutas de archivos y operaciones de estilo linq y no mucho que ver con los metadatos de archivos bajo el capó – Homde
Si no lo hay, ¿puede guardar en caché la información al principio del ciclo de vida de sus aplicaciones? Eso hará que la información esté disponible para usted en la memoria RAM, pero no estará actualizada si tiene una aplicación de larga ejecución. – Patrick