Rsync est lent (utilisé sous Windows avec Cygwin) !

Bonjour, j’utilise rsync via cygwin sous windows xp pour copier des fichiers (un seul à la fois) en local et de taille importante (4 Go par exemple).
Je me suis aperçu que rsync est plus lent que d’autres outils (tels que cp ou dd dans cygwin, copy intégré à windows, copier-coller depuis l’explorateur, etc.). Non seulement il est plus lent pour faire une simple copie, mais en plus il consomme plus de mémoire et utilise d’avantage le processeur. J’ai fait des essais sur un ordi peu récent (P4 1500Mhz ; 640 Mo de RAM ; Win XP SP3 avec les dernières versions en date de cygwin et rsync).
Je n’ai pas utilisé d’options particulières pour les commandes, j’ai utilisé par exemple : rsync source destination.

Pour copier un fichier d’environ 800 Mo sur le même disque dur (sans options particulières dans les commandes) :
avec copy (intégré à windows) :
temps de la copie : 40s ;
débit : 20 Mo/s ;

avec cp :
temps de la copie : 60s ;
débit : 15 Mo/s ;

avec rsync :
temps de la copie : 200s ;
débit : 4 Mo/s ;
utilisation à 100% du processeur et mémoire saturée.

euh d’abord rsync n’est pas franchement fait pour faire du transfert de fichiers sur un seul fichier à la fois…

Il porte bien son nom pourtant, comment tu a pu le confondre avec cp ?
rsync sert à synchroniser des arborescences de fichiers

+1

orax :
rsync a une grosse phase d’indexation et de calcul de checksum avant de copier. C’est ce qui consomme du proc et prend du temps.
Il ne sert vraiment pas a copier betement. Il sert avant tout a synchroniser et surtout a synchroniser par le reseau avec des besoins plus ou moins complexes en terme de selection et securite et pour lesquels la performance de copie n’est pas le point le plus primordial.

En plus tu passes par une couche cygwin qui ne doit pas franchement ameliorer les perfs. Rsync existe nativement pour windows.

C’est quoi ton vrai besoin a la base ? Qu’est ce que tu cherches a faire avec tes fichiers 4Go ?
Edité le 26/04/2010 à 11:27