diff
Realizacja w OpenBSD ma niestandardową -d
opcję z następującej dokumentacji:
-d
Staraj się bardzo ciężko wyprodukować różnicę tak małą, jak to możliwe. Może to zużywać dużo mocy obliczeniowej i pamięci podczas przetwarzania dużych plików z wieloma zmianami.
diff
Implementacja GNU ma tę samą opcję z krótszą dokumentacją
-d
,--minimal
staraj się znaleźć mniejszy zestaw zmian
Od czasu do czasu korzystałem z tej opcji, aby sprawdzić, czy generuje dane wyjściowe, które są w dowolnym kształcie lub w innej formie niż to samo diff
polecenie bez opcji, ale nigdy nie widziałem żadnej różnicy (nie ma zamiaru grać słów).
Czy ktoś może podać lub wskazać przykład, w którym ta opcja faktycznie daje inny wynik niż to samo polecenie bez -d
? Alternatywnie, jeśli ktoś mógłby wyjaśnić okoliczności wymagane do uruchomienia tej opcji. Nie jestem również pewien, czy „minimalny” oznacza „mniej linii wyjściowych” czy „mniej kawałków”.
Niewykształcone przypuszczenie, że ma to związek z bardzo dużymi kawałkami mięsa.
info diff performance
wyjaśnia to IIRC
gdiff -d
, aby sprawdzić, czy dodatki do OpenBSD są przydatne. Z moich testów nie mogłem dostrzec żadnych różnic, ale oczywiste jest, że kod OpenBSD spowalnia wydajność, co wygląda na znaczący wpływ, ponieważ algorytm różnicowy z Douglasa McIlroya jest szybszy niż gdiff, o ile używasz normalnych rozmiarów plików.