Почему некоторые файлы и коллекция файлов так долго копируются?

Я копировал папку «users» в Windows для моего друга, и я заметил, что файл 6.5GB занимает необычайно долгое копирование. Скорость передачи данных не превышала 5 Мбит / с. Кроме того, я заметил, что было необычно большое количество папок: 30 000-40 000. Не влияет ли большое количество файлов, папок и подпапок на скорость передачи?

Указанная передача была выполнена между SSD и флеш-накопителем USB 3.0.

    Когда вы копируете данные, идеальный случай имеет один последовательный файл. Вместо этого, имея множество мелких файлов, вы можете убить производительность. Механический диск должен продолжать искать подходящий сектор, и это очень трудоемко; SSD намного быстрее, но все же он страдает. Если вы проверите тест SSD (я рекомендую Anandtech), вы увидите, что последовательное чтение часто составляет около 500 МБ / с (при условии, что соединение SATA 3 является наиболее распространенным), тогда как чтение блоков 4 КБ происходит намного медленнее , 100 МБ / с.

    Кроме того, вы копируете с SSD на USB-накопитель. Последнее, вероятно, является вашим узким местом: считайте, что интерфейс USB 3.0 не гарантирует, что устройство будет работать с такой скоростью, а скорее может передавать данные до этой скорости. Многие дешевые USB-накопители имеют низкое качество памяти и / или контроллера, и они медленны, поэтому они настолько медленны, что USB 3.0 фактически бесполезен, поскольку они не могут даже насытить USB 2.0.

    В вашем случае вы, вероятно, видите комбинацию из двух вещей, многих файлов и медленного USB-накопителя. В результате операция занимает больше времени, чем другие копии файлов.

    Interesting Posts

    как изменить пользовательский интерфейс в зависимости от выбора поля со списком

    Azure ASP .net WebApp Истекло время ожидания запроса

    Разрешения Android M: onRequestPermissionsResult () не вызывается

    Лучший способ кодирования текстовых данных для XML в Java?

    Сериализация словаря .NET

    Сохранение массивов в базе данных SQLite

    Как читать один символ с консоли в Java (как пользователь вводит его)?

    Почему я не могу отслеживать или получать доступ к определенным веб-сайтам в моем браузере, даже если я могу их пронести с терминала?

    Модуль Counter in Collections Python

    Клавиатура – значения задержки повторения / повторения в Win7

    Как получить ориентацию CURRENT (ActivityInfo.SCREEN_ORIENTATION_ *) на устройстве Android?

    Как вы показываете анимированные GIF-файлы в форме Windows (c #)

    Получите сердечный ритм от «Sensor» Samsung Gear Live

    Как заставить Chrome разрешить смешанный контент?

    как преобразовать CVImageBufferRef в UIImage

    Давайте будем гением компьютера.