Nautilus'un GUI kopyasını kullanmak yerine bir dosyayı cp yapmak neden yarıdan daha yavaş? (AFC protokolü)


9

Jailbreak yapılmış bir iPod Touch'ım var ve afc2add paketim var. Ubuntu dizüstü bilgisayarıma taktığımda, iPod'um Medya dizinini ve uygulama dosyası paylaşım klasörlerini de otomatik hale getiriyor. Bir dosyayı Media klasörüne aktarmak için Nautilus'u kullandığımda, dosya yaklaşık 5MB / s hızında zirve yapıyor. Ancak, bir dosyayı ~/.gvfs/Matt's iPodklasöre kopyalamak için bir terminal kullandığımda [Nautilus'ta, "Matt'in iPod'u" olarak görünür], sadece yaklaşık 2MB / sn'ye kadar çıktığını gördüm.

Nautilus'un GUI kopyasını kullanmak yerine neden bir dosyayı cp'nin yarıdan daha yavaş olduğuna dair herhangi bir ipucu verebilir mi?

Bu arada, bir terminal kopyası ile ne kadar hızlı gittiğini söyleyebilirim, pv ile bir senaryom var [Özetle, öyle: pv $1 > $2] ve bu yaklaşık 1.5MB / s gidiyordu. Bu yüzden de cp denedim ve duher saniye dosyaya bir döngü kurdu ve her saniye 2 MB civarında bir yere atladı.


Her iki durumda da toplam dönüş sürelerini yayınlayabilir miyim?
samarasa

Tuhaf bir şekilde, benim durumum tam tersi: cp Nautilus ile kopyalamaktan 8 kat daha hızlı. Seni kıskanıyorum :)
marcio

Yanıtlar:


15

Nautilus, farkı açıklayabilen daha az dolaylı katmandan geçiyordu.

Nautilus yerel bir gvfs uygulamasıdır, bu nedenle doğrudan gvfs arka uçlarıyla iletişim kurar.

Buna karşılık, cpçekirdeğe , işlem tarafından ele alınan ve sonuç olarak gvfs arka uçlarıyla konuşan bir FUSE dosya sistemi aracılığıyla konuşuyor . POSIX API ve gvfs arasındaki empedans uyumsuzlukları daha az verimli aktarımları açıklayabilir.~/.gvfsgvfs-fuse-daemon

Uygun URL'ye kopyalayarak gvfs-copy, gvfs-binpaketteki komutu kullanarak komut satırında benzer performans elde edebilirsiniz .


Aman tanrım. Bir saniyeliğine 11MB / s'ye kadar çıktı ve daha sonra ortalama 6 veya 7MB / s oldu! Teşekkürler!
Matt

1
Bunu duymak güzel. Gvfs için FUSE arayüzü daha çok tercih edilen erişim yöntemi olmaktan ziyade tüm uygulamaların dosyalara erişmesine izin veren geriye dönük uyumluluk şimi olarak tasarlanmıştır.
James Henstridge
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.