Мы используем #ziplib (найдено здесь ) в приложении, которое синхронизирует файлы с сервера для время от времени подключенного клиентского приложения.
Мой вопрос, с этим алгоритмом, когда становится целесообразным тратить время выполнения на фактическое архивирование файлов? Предположительно, если синхронизируется только один небольшой текстовый файл, время для архивирования не будет в достаточной степени уменьшать размер передачи и фактически замедлит весь процесс.
Поскольку профиль времени zip будет меняться в зависимости от количества файлов, типов файлов и размера этих файлов, существует ли хороший способ программно определить, когда мне следует заархивировать файлы, а когда я должен просто передать их как есть? В нашем приложении файлы почти всегда будут фотографиями, хотя тип фотографии и ее размер могут измениться.
Я еще не написал реальную логику передачи файлов, но ожидаю использовать System.Net.WebClient
для этого, но я открыт для альтернатив, чтобы также сэкономить время выполнения.
ОБНОВЛЕНИЕ: По мере развития этой дискуссии вопрос «застегнуть или не застегнуть» неправильный вопрос? Следует ли сосредоточиться на замене старого метода System.Net.WebClient
сжатым трафиком WCF или чем-то подобным? Часть этой утилиты для синхронизации баз данных уже использует Microsoft Synchronization Framework и WCF, поэтому я, безусловно, открыт для этого. Все, что мы можем сделать сейчас для ограничения сетевого трафика, будет огромным для наших клиентов.