¿Cuál es más rápido, copiar todo de una vez o una cosa a la vez?


16

Estoy transfiriendo un montón (20+) de archivos grandes (1GB +) a mi unidad flash externa a través de USB 2.0. ¿Es más rápido simplemente arrojarlos todos a la vez (como en uno a la vez pero sin esperar a que termine la transferencia anterior) para que haya varias transferencias en curso, o transferir una, esperar a que termine, transferir la siguiente . Los archivos provienen de una variedad de ubicaciones, por lo que no puedo hacer una sola transferencia grande.

¿Hay otras ventajas de una forma u otra que valga la pena considerar?


¿Cuánto es un "Bunch"
Moab

20+, pregunta actualizada.
fredley

66
Aquí hay algunas respuestas teóricas muy interesantes, pero me encantaría ver algunos datos reales. ¿Cómo podríamos establecer una prueba confiable?
Pops

Respuestas:


19

Si todos provienen de diferentes discos físicos, pero están escritos en una unidad de estado sólido (flash, SSD), puede copiarlos simultáneamente.

El movimiento físico de la cabeza (latencia) es lo que ralentizará una transferencia desde un disco de disco giratorio. Si estuviera copiando desde un solo HDD, comenzaría una sola transferencia grande en lugar de muchas pequeñas. La cabeza que va y viene entre dos o más archivos que se están copiando es lo que ralentiza la transferencia. Por supuesto, obtendría el mismo efecto si el HDD estuviera muy fragmentado incluso si estuviera copiando un solo archivo.

Si fuera entre unidades de estado sólido, entonces no importaría.

Si no desea esperar a que termine cada transferencia, use una aplicación de colas de copia como Teracopy .

Por supuesto, la velocidad de escritura de la unidad flash sería el cuello de botella aquí, por lo que probablemente no importa de qué manera lo haga. :)


1
Excelente respuesta, aunque prefiero FastCopy yo mismo. :-)
afrazier

¡La teracopia es genial! Me gusta la forma en que reemplaza automáticamente el sistema de copia de archivos de Windows. Un aumento de velocidad masivo gracias!
fredley

Aunque suene lógico, y esto es lo que personalmente pienso. pero la práctica está demostrando lo contrario, tengo una memoria USB que copia un solo archivo (desde SSD) a 30 MB / s, pero cuando trato de copiar tres archivos al mismo tiempo en el mismo entorno, la velocidad baja a 2.5 MB / s por hilo de copia. Entonces, la velocidad ha bajado a 7.5 MB / s desde 30 MB / s.
Sísifo

2

Si el disco de destino es un SSD, solo tenga en cuenta que los SSD son, por lo que concierne aquí, muy rápidos . (*)

Si el destino es algo más lento (desde un flash con una velocidad de escritura no tan alta a un HDD SATA3 a una cinta magnética), debe poner en cola las transferencias, una a la vez.

Su cuello de botella estará en el disco de destino seguro

En los discos duros esto se aconseja hoy en día porque, a pesar de que hay más de una cabeza en un cilindro, no se les permite leer ni escribir simultáneamente (no ha mostrado ningún impacto en el rendimiento en el escenario del mundo real debido al hecho de que podemos encontrar datos aleatorios en una de las cabezas que no nos permitiría R / W en esa cabeza la mayor parte del tiempo, y si las cabezas no están completamente centradas, eso podría provocar la corrupción del disco).

El sentido común (¡y las matemáticas también!) Dicen que si tenemos una fuente muy buena, pero podemos hacer que la transferencia de archivos en paralelo, la búsqueda de cabeza podría (en muchos escenarios) ser más rápida que la serialización del trabajo.

(*) Es decir, como dice nnewton, porque no hay movimiento de cabeza. Pero no deberíamos usar el término latencia : la latencia es movimiento de la cabeza + retraso de rotación del disco + tiempo de lectura, y en SSD eso es simplemente tiempo de lectura aleatorio y no depende de la posición de lectura anterior como lo hacen las unidades de disco


2

Utilizando la utilidad de copia de archivos incorporada en Windows, ambos son terriblemente lentos. Es posible que desee considerar el uso de una aplicación alternativa como TeraCopy .


1

Si estaba copiando a través del protocolo IP (FTP / SCP / Samba / etc.), entonces hay menos sobrecarga para copiar un archivo, ya que hay varios apretones de manos entre cada archivo.

En este caso, dado que hay archivos grandes y pocos en cantidad, no hará mucha diferencia en el bus de E / S lo que haga y probablemente sea más fácil copiarlos tal como están.


0

Es mejor escribir un solo archivo a la vez.

Probablemente encontrará que el ancho de banda de su unidad flash se saturará con bastante facilidad. (Es poco probable que la unidad de origen sea el cuello de botella). Si bien USB 2.0 puede transferir hasta 480 MB, su unidad flash probablemente esté limitada a ~ 20 MB. Esto significa que cuando transfiere un par de archivos desde un disco duro (s), aumentará al máximo la velocidad de escritura de la unidad flash, y cada archivo se escribirá más lentamente, ya que tienen que compartir.

Además, al escribir varios archivos al mismo tiempo, aumenta la fragmentación porque, a menos que el espacio para los archivos se asigne completamente tan pronto como comience la transferencia, terminarán dividiéndose en trozos a medida que se transfieren los archivos.

(Afortunadamente, debido a que las unidades flash son de estado sólido, no hay cabeza que tenga que moverse de un lado a otro como lo haría si transfiere múltiples archivos a un disco duro).

Otro inconveniente de escribir varios archivos al mismo tiempo es que los cuadros de diálogo de copia de archivos solo indican el progreso y el tiempo restante para ese archivo individual, y resulta casi imposible estimar el tiempo total porque no es lineal (no puede simplemente agregar ellos). Transferirlos juntos le dará una respuesta mucho más precisa para toda la transferencia.

Si los archivos de origen provienen de diferentes fuentes (¿se refiere a diferentes unidades de disco duro, CD / DVD, unidad de red o simplemente carpetas?), Entonces lo que puede hacer es utilizar una herramienta de copia de archivos dedicada en lugar de Windows en función. Algunas opciones incluyen la herramienta Microsoft TechNet Robocopy , que también tiene una interfaz gráfica de usuario , RichCopy (también de TecNet) que es una herramienta mejorada basada en Robocopy y Teracopy , que se especializa en hacer que la transferencia sea lo más eficiente posible (y tiene un versión gratuita).


0

OK, ya que el OP dijo específicamente que los estaba copiando a través de USB 2.0 a un objetivo, tendría que decir uno a la vez, independientemente de la fuente.

S = en serie. Múltiples secuencias de archivos = Gastos generales.

Pero en la práctica ...

Al copiar desde múltiples fuentes, el tiempo perdido en múltiples transmisiones sería más que compensado por no tener que construir una copia 'en cola' manualmente. Y es mas facil. ;)

Además, si está copiando en múltiples flujos y uno falla, el resto probablemente se completará.


0

El tiempo de procesamiento electrónico ahorrado al cargarlos individualmente debería ser apreciable para compensar el tiempo perdido entre el acto físico de esperar a que cada archivo termine de cargarse y luego mover el siguiente individualmente.


Lea otras respuestas antes de escribir una nueva respuesta
yass
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.