La diff
implementación en OpenBSD tiene una -d
opción no estándar con la siguiente documentación:
-d
Esfuércese por producir una diferencia lo más pequeña posible. Esto puede consumir mucha potencia de procesamiento y memoria al procesar archivos grandes con muchos cambios.
La diff
implementación de GNU tiene la misma opción con la documentación más corta
-d
,--minimal
esforzarse por encontrar un conjunto más pequeño de cambios
De vez en cuando he usado esta opción solo para ver si genera resultados que tienen cualquier forma o forma diferente del mismo diff
comando sin la opción, pero nunca he visto ninguna diferencia (sin juego de palabras).
¿Podría alguien proporcionar o señalar un ejemplo en el que esta opción realmente produzca un resultado diferente del mismo comando sin él -d
? Alternativamente, si alguien pudiera explicar las circunstancias requeridas para que esta opción funcione. Tampoco estoy seguro de si "mínimo" significa "menos líneas de salida" o "menos trozos".
Una suposición sin educación es que tiene que ver con trozos muy grandes.
info diff performance
lo explica IIRC
gdiff -d
para verificar si las adiciones a OpenBSD son útiles. De mis pruebas, no pude obtener ninguna diferencia, pero es obvio que el código de OpenBSD ralentiza el rendimiento, lo que parece un impacto significativo, ya que el Algoritmo de diferencia de Douglas McIlroy es más rápido que gdiff siempre que use tamaños de archivo normales.