Que é mais rápido, copiando tudo de uma vez ou uma coisa de cada vez?

15

Estou transferindo um monte (20+) de arquivos grandes (1 GB +) para minha unidade flash externa por USB 2.0. É mais rápido apenas colocá-los todos de uma só vez (como em um de cada vez, mas sem esperar que a transferência anterior termine) para que haja várias transferências acontecendo ou transfira uma, espere que ela termine, transfira a próxima . Os arquivos são provenientes de vários locais, por isso não posso fazer uma única grande transferência.

Existem outras vantagens de um jeito ou de outro que valem a pena considerar?

    
por fredley 04.03.2011 / 01:34

7 respostas

18

Se eles são todos provenientes de diferentes discos físicos, mas sendo gravados em uma unidade de estado sólido (flash, SSD), você pode copiá-los simultaneamente.

O movimento físico da cabeça (latência) é o que retardará a transferência de um disco de prato giratório. Se você estivesse copiando de um único HDD, então você começaria uma única grande transferência, em vez de muitas pequenas. A cabeça indo e voltando entre dois ou mais arquivos que estão sendo copiados é o que retarda a transferência. É claro que você obteria o mesmo efeito se o HDD estivesse muito fragmentado, mesmo se você estivesse copiando um único arquivo.

Se fosse entre drives de estado sólido, não importaria.

Se você não quiser esperar pelo término de cada transferência, use um aplicativo de enfileiramento de cópias como Teracopy .

É claro que a velocidade de gravação da unidade flash seria o gargalo aqui, então provavelmente não importa de que maneira você faz isso. :)

    
por 04.03.2011 / 01:51
2

Se o disco de destino for um SSD, tenha em mente que os SSDs são, para o que está em causa aqui, muito rápido . (*)

Se o destino for algo mais lento (de um flash com taxa de gravação não tão alta para um HDD SATA3 para uma fita magnética), você deverá enfileirar as transferências, uma de cada vez.

Seu gargalo estará no disco de destino, com certeza

Nos HDDs isso é aconselhado atualmente porque, embora haja mais de uma cabeça em um cilindro, eles não podem ler nem escrever simultaneamente (ele não demonstrou nenhum impacto no desempenho no cenário do mundo real devido ao fato de que podemos encontrar dados aleatórios em uma das cabeças que não nos permitiriam R / W naquela cabeça na maior parte do tempo, e se as cabeças não estiverem completamente centralizadas, o que poderia levar à corrupção do disco).

O senso comum (e a matemática também!) dizem que, se tivermos uma fonte muito boa, mas pudermos fazer a transferência de arquivos em paralelo, a busca da cabeça poderá (em muitos cenários) ser mais rápida que a serialização do trabalho. / p>

(*) Isto é, como afirma o nnewton, porque não há movimentação da cabeça. Mas não devemos usar o termo latência : latência é movimento da cabeça + atraso na rotação do disco + tempo de leitura, e no SSD é simplesmente tempo de leitura aleatório e não depende da posição de leitura anterior,

    
por 04.03.2011 / 02:00
2

Usando o utilitário interno de cópia de arquivos no Windows, ambos são terrivelmente lentos. Você pode querer considerar o uso de um aplicativo alternativo como o TeraCopy .

    
por 04.03.2011 / 07:15
1

Se você estava copiando através do protocolo IP (FTP / SCP / Samba / etc), há menos sobrecarga para copiar um arquivo, pois há vários handshakes entre cada arquivo.

Neste caso, como existem arquivos grandes e poucos em quantidade, não fará muita diferença para o barramento de E / S o que você faz e é provavelmente mais fácil copiá-los como estão.

    
por 04.03.2011 / 02:54
0

É melhor escrever um único arquivo de cada vez.

Você provavelmente descobrirá que a largura de banda da sua unidade flash ficará saturada facilmente. (É improvável que a unidade de origem seja o gargalo). Embora o USB 2.0 possa transferir até 480 MB, sua unidade flash provavelmente está limitada a ~ 20 MB. Isso significa que, quando você transfere alguns arquivos de um (s) disco (s) rígido (s), ele aumentará a velocidade de gravação do flash drive e cada arquivo será gravado mais lentamente, já que eles precisam ser compartilhados.

Além disso, ao gravar vários arquivos ao mesmo tempo, você aumenta a fragmentação porque, a menos que o espaço para os arquivos seja totalmente alocado assim que a transferência for iniciada, eles serão divididos em partes à medida que os arquivos forem transferidos.

(Felizmente, como as unidades flash são de estado sólido, não há cabeça que precise se movimentar como se você transferisse vários arquivos para um disco rígido.)

Outra desvantagem de escrever vários arquivos ao mesmo tempo é que os diálogos de cópia de arquivos indicam apenas o progresso e o tempo restante para esse arquivo individual, e torna-se quase impossível estimar o tempo total porque não é linear (você não pode simplesmente adicioná-los). Ao transferi-los juntos, você receberá um feedback muito mais preciso para toda a transferência.

Se os arquivos de origem são de fontes diferentes (você quer dizer diferentes discos rígidos? unidade de rede CD / DVD? ou apenas pastas?), então o que você pode fazer é usar uma ferramenta de cópia de arquivos dedicada em vez do Windows 'função embutida. Algumas opções incluem a ferramenta Microsoft TechNet Robocopy , que também possui um GUI front-end , RichCopy (também da TecNet) que é uma ferramenta aprimorada baseada em Robocopy, e Teracopy , que é especializada em tornar a transferência o mais eficiente possível (e possui uma versão gratuita).

    
por 04.03.2011 / 01:58
0

OK, uma vez que o OP especificamente disse que ele estava copiando-os via USB 2.0 para um destino, eu teria que dizer um de cada vez, independentemente da fonte.

S = serial. Vários fluxos de arquivos = sobrecarga.

Mas na prática ...

Ao copiar de várias origens, o tempo perdido para vários fluxos seria mais do que compensado por não ter que criar uma cópia 'fila' manualmente. E é mais fácil. ;)

Além disso, se você estiver copiando em vários fluxos e um falhar, o restante provavelmente será concluído.

    
por 04.03.2011 / 05:57
0

O tempo de processamento eletrônico salvo ao carregá-los individualmente teria que ser apreciável para compensar o tempo perdido entre o ato físico de esperar que cada arquivo terminasse de carregar e depois mover o próximo individualmente.

    
por 19.04.2017 / 16:11