Ускорение сравнения файлов (с помощью `cmp`) на Cygwin?

Я написал bash-скрипт на Cygwin, который очень похож на rsync , хотя и достаточно отличается, так что я считаю, что на самом деле не могу его использовать rsync для того, что мне нужно. Он перебирает около тысячи пар файлов в соответствующих каталогах, сравнивая их с cmp .

К сожалению, это, похоже, работает ужасно медленно - примерно в десять (Править: фактически в 25!) Раз больше, чем требуется для создания одного из наборов файлов с помощью программы Python.

Прав ли я, думая, что это на удивление медленно? Есть ли какие-нибудь простые альтернативы, которые будут работать быстрее?

(Чтобы уточнить мой вариант использования: я автоматически генерирую группу файлов .c во временном каталоге, а когда я повторно генерирую их, я хотел бы скопировать только те, которые были изменены, в фактический исходный каталог, оставив неизмененные неизменными (с их старым временем создания), чтобы make знал, что их не нужно перекомпилировать.Не все сгенерированные файлы являются файлами .c , поэтому мне нужно проводить двоичные сравнения, а не текстовые сравнения.)

6
задан Brooks Moses 24 January 2012 в 07:51
поделиться