Чому копіювати файл на половину повільніше, а не використовувати копію GUI Nautilus? (Протокол AFC)


9

У мене є вбудований iPod Touch з в'язністю, і у мене є пакет afc2add. Коли я підключаю його до свого ноутбука ubuntu, він автоматично встановлює медіа-каталог iPod, а також папки для обміну файлами додатків. Коли я використовую Nautilus для передачі файлу в папку "Медіа", він досягає приблизно 5 Мб / с. Однак, коли я використовую термінал, щоб скопіювати файл у ~/.gvfs/Matt's iPodпапку [У Nautilus, він відображається як "Метт iPod"], я бачив, що він піднімається приблизно до 2 Мб / с.

Чи може хто-небудь дати підказки щодо того, чому копіювати файл на половину повільніше, а не використовувати копію GUI Nautilus?

До речі, я можу сказати, наскільки швидко йде термінальна копія, у мене є сценарій з pv [У двох словах, це: pv $1 > $2], і це було близько 1,5 Мб / с. Тому я також спробував cp, і налаштовував цикл для duфайлу щосекунди, і він підскакував десь близько 2 Мб щосекунди.


Чи можна також розмістити загальний час повороту в обох випадках?
samarasa

Як не дивно, мій випадок якраз навпаки: cp на 8 разів швидше, ніж копіювання з Nautilus. Я заздрю ​​вам :)
marcio

Відповіді:


15

Наутілус переживав би менші шари непрямості, що могло б пояснити різницю.

Nautilus - це нативний gvfs-додаток, тому він спілкується безпосередньо із файлами gvfs.

На відміну від цього, cpце спілкування з ядром за допомогою встановленої у файлі FUSE файлової системи ~/.gvfs, яка обробляється gvfs-fuse-daemonпроцесом, який, в свою чергу, розмовляє з файлами gvfs. Невідповідності імпедансу між POSIX API та gvfs можуть спричиняти менш ефективні передачі.

Можливо, ви зможете отримати подібну продуктивність у командному рядку, використовуючи gvfs-copyкоманду з gvfs-binпакету, скопіювавши у відповідну URL-адресу.


О Боже. Він піднімався до 11 Мб / с за секунду, а в середньому приблизно 6 або 7 МБ / с! Дякую!
Метт

1
Це добре чути. Інтерфейс FUSE до gvfs призначений скоріше як зворотний простір сумісності, який дозволяє всім програмам отримувати доступ до файлів, а не є кращим методом доступу.
James Henstridge
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.