Я предполагаю, что ваш внешний диск подключен через USB, eSATA, Firewire или аналогичный. В любом из этих случаев диск будет отображаться на главном компьютере как блочное устройство, и хост будет «общаться» с жестким диском, как если бы это был внутренний жесткий диск. В этом вся суть класса устройств USB Mass Storage.
Это также означает, что данные должны передаваться по проводам точно так, как они предназначены для отображения на жестком диске. Нет схемы, которая сжимает данные на хосте, отправляет сжатые данные по USB-соединению и затем прозрачно распаковывается непосредственно перед тем, как теперь необработанные, несжатые данные будут сохранены на физическом носителе. Таким образом, вам нужно либо сжимать данные заранее на исходном диске, либо прыгать через ухищрения (например, вставляя NAS между и используя сетевой протокол сжатия).
Кроме того, если у вас нет очень специфических данных, которые хорошо сжимаются, вероятно, вы получите очень плохие коэффициенты сжатия. Если основная часть 80 ГБ состоит из видео, изображений и т. П., Вы можете даже получить отрицательные соотношения, поскольку они уже сильно сжаты с использованием очень специализированных алгоритмов.
В любом случае, получение какой-либо значительной степени сжатия влечет за собой большое количество процессорного времени. Вы можете получить приблизительную оценку того, насколько сильно это будет стоить, с помощью простого эксперимента: просто попробуйте сжать любой файл размером 1 ГБ с 7zip при самых высоких настройках и измерить время. Затем измерьте, сколько времени потребуется для распаковки результата.
Большинство алгоритмов сжатия оптимизированы для скорости распаковки, поскольку обычно это делается гораздо чаще. Тем не менее, будет существенное или даже значительное снижение производительности, и вы будете платить его каждый раз, когда получаете доступ к сжатым данным.
Или время, которое потребуется для сжатия и распаковки, займет больше времени, чем сэкономит время копирования?
Кроме того, какие-либо указатели, с которыми я должен быть осторожен, прежде чем я начну, может ускорить процесс?
Если все, что вы хотите сделать, это передать данные с исходного диска на внешний диск, то, скорее всего, к тому времени, когда вы получите ответ, копия уже закончена. :o) Тем более, что 80 ГБ уже не так уж важны; при условии приблизительного числа 10 МБ / с вы будете ждать менее трех часов. Сжатие 80 ГБ займет гораздо больше времени.
То , что делает заслугу , учитывая , хотя это прерванные переводы. Необходимость перезапуска 80-гигабайтного переноса с отметки 95% и необходимость перезапуска с нуля… раздражает, если не сказать больше. Каноническим инструментом в этом случае является rsync
, который может сэкономить вам огромное время, гораздо больше, чем может дать сжатие. Цена - это небольшая инвестиция в то, как ее использовать, но вы не будете терять производительность при чтении данных впоследствии, что является большим плюсом.
TL; DR: Из того, что я понял из вашего вопроса, rsync
(или аналогичный) - это путь. За исключением очень специфических обстоятельств, сжатие будет большой тратой времени.