Прогресс, кстати, отдельный таракан. Понимание того, какую часть работы
ты уже сделал - отдельная задача, в ряде случаев еще и теоретически
неразрешимая. А в ряде других - разрешимая, но за слишком большую
дополнительную цену. Вон, у того же rsync сколько ручек для оптимизации
обработки набора файлов для синхронизации. Две трети из них приводят к
не особой осмысленности информации о прогрессе. Ну, знаешь ты, что тебе
еще треть файлов копировать. А по времени? Правильно, пока он все
файлы не синхронизирует, он этого не знает. Теория вероятности не
помогает, распределение изменений, как правило, неравномерно. А когда
синхронизировал - ну, 100%.