Parece que você está testemunhando o cache do sistema de arquivos fazendo seu trabalho.
Antes de mais nada, quando você copia um arquivo, o computador deve ler esse arquivo na memória antes de poder escrevê-lo de volta na cópia. A leitura desse arquivo representa um custo de tempo, portanto, a cópia na memória é mantida no cache, caso você precise dela novamente. Como se você abrisse o arquivo que acabou de copiar ou copie em outro lugar. O SO não precisa perder tempo lendo-o do disco novamente.
Em segundo lugar, o bolo é uma mentira. Quando um arquivo é "gravado", ele não vai para o disco. Ele vai, em vez disso, para um buffer de memória que, em seguida, é comprometido com o disco em algum momento posterior (geralmente imediatamente, mas não necessariamente - depende de quão ocupado o disco está). De qualquer forma, o sistema operacional informa que o arquivo terminou de ser copiado quando na verdade não foi copiado.Tanto o cache de leitura quanto o buffer de gravação são técnicas de otimização que todos os sistemas operacionais modernos usam. No seu caso (assumindo que nada deu errado e os arquivos são idênticos), seu script está atingindo um ponto ideal. O (s) arquivo (s) simplesmente foi copiado de um bloco de memória cache para outro bloco de memória buffer e é por isso que não demorou muito.
Por acaso ... é por isso que você nunca deve desligar um computador sem desligá-lo corretamente ou remover uma unidade flash sem desmontá-lo. Parte desse processo é comprometer o cache de gravação no disco.