A diff
implementação no OpenBSD possui uma -d
opção não padrão com a seguinte documentação:
-d
Tente muito produzir um diff o menor possível. Isso pode consumir muito poder de processamento e memória ao processar arquivos grandes com muitas alterações.
A diff
implementação GNU tem a mesma opção com a documentação mais curta
-d
,--minimal
tente encontrar um conjunto menor de alterações
De tempos em tempos, usei essa opção apenas para ver se ela gera uma saída de qualquer forma ou forma diferente do mesmo diff
comando sem a opção, mas nunca vi nenhuma diferença (sem trocadilhos).
Alguém poderia fornecer ou apontar para um exemplo em que essa opção realmente produz um resultado diferente do mesmo comando sem -d
? Como alternativa, se alguém puder explicar as circunstâncias necessárias para essa opção entrar em ação. Também não tenho certeza se "mínimo" significa "menos linhas de saída" ou "menos trechos".
Um palpite sem instrução é que isso tem a ver com grandes pedaços.
info diff performance
explica
gdiff -d
para verificar se as adições ao OpenBSD são úteis. Nos meus testes, não consegui nenhuma diferença, mas é óbvio que o código do OpenBSD diminui o desempenho, o que parece ter um impacto significativo, pois o algoritmo diff de Douglas McIlroy é mais rápido que o gdiff, desde que você use tamanhos de arquivo normais.