diff
Реализация на OpenBSD имеет нестандартный -d
вариант со следующей документацией:
-d
Старайтесь изо всех сил, чтобы сделать diff как можно меньше. Это может потребовать много вычислительной мощности и памяти при обработке больших файлов со многими изменениями.
Реализация GNU diff
имеет ту же опцию с более короткой документацией
-d
,--minimal
стараться найти меньший набор изменений
Время от времени я использовал эту опцию, просто чтобы увидеть, генерирует ли она выходные данные в любой форме или форме, отличной от той же diff
команды без опции, но я никогда не видел никакой разницы (без каламбура).
Может ли кто-нибудь предоставить или указать на пример, где эта опция на самом деле дает другой результат, чем та же команда без -d
? В качестве альтернативы, если кто-то может объяснить обстоятельства, необходимые для включения этой опции. Я также не уверен, означает ли «минимальный» «меньшее количество строк вывода» или «меньшее количество фрагментов».
Необразованное предположение состоит в том, что это связано с очень большими кусками.
info diff performance
объясняет это IIRC
gdiff -d
, чтобы проверить, полезны ли дополнения к OpenBSD. Из моих тестов я не смог получить никаких отличий, но очевидно, что код OpenBSD замедляет производительность, что выглядит как существенное влияние, поскольку алгоритм сравнения от Douglas McIlroy работает быстрее, чем gdiff, если вы используете файлы нормального размера.