Dlaczego proces tworzenia pliku jest o ponad połowę wolniejszy niż użycie kopii GUI Nautilusa? (Protokół AFC)


9

Mam iPoda Touch z jailbreakiem i pakiet afc2add. Po podłączeniu do laptopa Ubuntu automatycznie instaluje katalog Media iPoda, a także foldery udostępniania plików aplikacji. Kiedy używam Nautilusa do przesłania pliku do folderu Media, osiąga on szczyt około 5 MB / s. Jednak gdy używam terminala do skopiowania pliku do ~/.gvfs/Matt's iPodfolderu [W Nautilusie pojawia się on jako „iPod Matta”], widziałem, że zwiększa się on jedynie do około 2 MB / s.

Czy ktoś może dać jakieś wskazówki, dlaczego proces tworzenia pliku jest o ponad połowę wolniejszy niż kopia GUI Nautilusa?

Nawiasem mówiąc, mogę powiedzieć, jak szybko idzie z kopią terminala, mam skrypt z pv [Krótko mówiąc, to: pv $1 > $2], a to szło około 1,5 MB / s. Próbowałem więc także cp i duco sekundę ustawiałem pętlę do pliku, który co sekundę podskakiwał w okolicach 2 MB.


Czy w obu przypadkach można również zaksięgować całkowity czas zawracania?
samarasa,

O dziwo, mój przypadek jest dokładnie odwrotny: procesor jest 8 razy szybszy niż kopiowanie za pomocą Nautilusa. Zazdroszczę ci :)
marcio

Odpowiedzi:


15

Nautilus przechodziłby przez mniej warstw pośrednich, co może tłumaczyć różnicę.

Nautilus to natywna aplikacja gvfs, więc komunikuje się bezpośrednio z backendami gvfs.

W przeciwieństwie do tego, cprozmawia z jądrem przez zamontowany system plików FUSE~/.gvfs , który jest obsługiwany przez gvfs-fuse-daemonproces, który z kolei komunikuje się z backendami gvfs. Niedopasowanie impedancji między interfejsem API POSIX a gvfs może być przyczyną mniej wydajnych transferów.

Możesz być w stanie uzyskać podobną wydajność w wierszu poleceń, używając gvfs-copypolecenia z gvfs-binpakietu, kopiując do odpowiedniego adresu URL.


O mój Boże. Na sekundę wzrosło do 11 MB / s, a potem średnio około 6 lub 7 MB / s! Dzięki!
Matt

1
Dobrze to słyszeć. Interfejs FUSE do gvfs ma raczej służyć jako podkładka kompatybilności wstecznej, która pozwala wszystkim aplikacjom na dostęp do plików, a nie jako preferowana metoda dostępu.
James Henstridge
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.