? Se tarda unos 2 minutos en hacer un File.Copy(src, dest);
para un archivo de 1.6 GB de la Carpeta A en la Carpeta B en la misma unidad. ¿Hay alguna manera más rápida de hacer esto en C# /. NET en el código (sin hardware) - Algo con transmisión, enhebrado, etc.?¿Existe alguna forma más rápida de copiar un archivo que no sea File.Copy
¿Sería una cadena de archivos más rápida? ¿Qué tal una clase que descompone el archivo usando un hilo de trabajo, y lee un rango de bytes/escribe un rango de bytes [eso suena como una gran manera de corromper el archivo, pero la integridad no es prioridad 1 aquí, su velocidad :-) ]
He buscado pero todos dicen que use File.Copy, pero es lento (tan lento como Windows Copy) - Preferiría no usar una herramienta de terceros.
Estas son algunas respuestas a algunas de las preguntas:
Copia de comparación de tiempo:
> C# : 2.15m
> Windows Explorer: 2.53m
> TeraCopy: 2.26m
> FastCopy: 2.24m
Ok, esos no son los promedios y sé que ellos pueden cambiar ligeramente en ejecuciones posteriores, pero Realmente pensé que habría una manera más rápida de copiar un archivo ya que asumí que Windows estaba haciendo comprobaciones adicionales de seguridad e integridad :-(
Todavía estoy esperando por eso Me buena respuesta (como 'oh sí, los archivos de más de 1,5 GB serán x más rápido si búfer m y desactivar la seguridad n') - está bien, sólo estoy deseando en este punto.
Creo que sería difícil presionar para hacer una copia de archivo, más rápido que Windows, en un cuadro de Windows. –
Supongo que su unidad es una unidad tradicional basada en platos. Si es así, dividir el archivo probablemente ralentizará las cosas debido a los tiempos de búsqueda. – Greg
Copiar 1,6 GB a una nueva ubicación en la * misma * unidad no es una actividad que sea muy agradable para el disco duro. Tiene que saltar por todos lados para respaldar las lecturas y escrituras simulaneas. –