Ich habe einen iPod Touch mit Jailbreak und das afc2add-Paket. Wenn ich es an meinen Ubuntu-Laptop anschließe, werden das Medienverzeichnis meines iPod sowie die Ordner für die gemeinsame Nutzung von App-Dateien automatisch bereitgestellt. Wenn ich eine Datei mit Nautilus in den Medienordner übertrage, erreicht sie einen Spitzenwert von ca. 5 MB / s. Wenn ich jedoch ein Terminal verwende, um eine Datei in den ~/.gvfs/Matt's iPod
Ordner zu kopieren [In Nautilus wird sie als "Matts iPod" angezeigt], habe ich nur gesehen, dass sie bis zu 2 MB / s beträgt.
Kann jemand Hinweise geben, warum es mehr als halb so langsam ist, eine Datei zu kopieren, anstatt die GUI-Kopie von Nautilus zu verwenden?
Übrigens, ich kann sagen, wie schnell es mit einer Terminal-Kopie geht, ich habe ein Skript mit pv [ pv $1 > $2
Kurz gesagt, es ist: ], und das ging ungefähr 1,5 MB / s. Also habe ich auch cp ausprobiert und du
jede Sekunde eine Schleife für die Datei eingerichtet, die jede Sekunde in der Nähe von 2 MB hochsprang.
Antworten:
Nautilus würde weniger Indirektionsebenen durchlaufen, was den Unterschied erklären könnte.
Nautilus ist eine native gvfs-Anwendung und kommuniziert daher direkt mit den gvfs-Backends.
Im Gegensatz dazu
cp
wird mit dem Kernel über ein FUSE- Dateisystem gesprochen, das bei gemountet~/.gvfs
ist und vomgvfs-fuse-daemon
Prozess verarbeitet wird, der wiederum mit den gvfs-Backends kommuniziert. Impedanzfehlanpassungen zwischen der POSIX-API und gvfs können für die weniger effizienten Übertragungen verantwortlich sein.Möglicherweise können Sie mit dem
gvfs-copy
Befehl aus demgvfs-bin
Paket eine ähnliche Leistung in der Befehlszeile erzielen und in die entsprechende URL kopieren.quelle