Las bibliotecas Diff Match y Patch ofrecen algoritmos sólidos para realizar las operaciones necesarias para sincronizar texto sin formato.
Creada originalmente en 2006 para impulsar Google Docs, esta biblioteca ahora está disponible en C++, C#, Dart, Java, JavaScript, Lua, Objective C y Python.
Aunque cada puerto de idioma de Diff Match Patch utiliza la misma API, hay algunas notas específicas del idioma.
Una prueba de velocidad estandarizada rastrea el desempeño relativo de las diferencias en cada idioma.
Esta biblioteca implementa el algoritmo de diferenciación de Myer, que generalmente se considera la mejor diferenciación de propósito general. Una capa de aceleraciones previas a la diferenciación y limpiezas posteriores a la diferenciación rodean el algoritmo de diferenciación, mejorando tanto el rendimiento como la calidad de salida.
Esta biblioteca también implementa un algoritmo de coincidencia Bitap en el centro de una estrategia flexible de coincidencia y parcheo.