¿Por qué es más de la mitad más lento copiar un archivo en lugar de utilizar la copia GUI de Nautilus? (Protocolo AFC)

¿Por qué es más de la mitad más lento copiar un archivo en lugar de utilizar la copia GUI de Nautilus? (Protocolo AFC)

Tengo un iPod Touch con jailbreak y tengo el paquete afc2add. Cuando lo conecto a mi computadora portátil Ubuntu, monta automáticamente el directorio multimedia de mi iPod, así como también las carpetas para compartir archivos de la aplicación. Cuando uso Nautilus para transferir un archivo a la carpeta Media, alcanza un máximo de aproximadamente 5 MB/s. Sin embargo, cuando uso una terminal para copiar un archivo a la ~/.gvfs/Matt's iPodcarpeta [En Nautilus, aparece como "iPod de Matt"], solo he visto que aumenta a aproximadamente 2 MB/s.

¿Alguien puede dar alguna pista de por qué es más de la mitad más lento copiar un archivo en lugar de utilizar la copia GUI de Nautilus?

Por cierto, puedo decir qué tan rápido va con una copia de terminal, tengo un script con pv [en pocas palabras, es: pv $1 > $2], y eso iba alrededor de 1,5 MB/s. Así que también probé cp y configuré un bucle para duel archivo cada segundo, y saltó cerca de 2 MB por segundo.

Respuesta1

Nautilus pasaría por menos capas de indirección, lo que podría explicar la diferencia.

Nautilus es una aplicación nativa de gvfs, por lo que se comunica directamente con los backends de gvfs.

Por el contrario, cp¿está hablando con el núcleo a través de unFUSIBLEsistema de archivos montado en ~/.gvfs, que es manejado por el gvfs-fuse-daemonproceso, que a su vez se comunica con los backends de gvfs. Las discrepancias de impedancia entre la API POSIX y gvfs pueden explicar las transferencias menos eficientes.

Es posible que pueda obtener un rendimiento similar en la línea de comando usando el gvfs-copycomando del gvfs-binpaquete, copiándolo a la URL adecuada.

información relacionada