Библиотеки Diff Match и Patch предлагают надежные алгоритмы для выполнения операций, необходимых для синхронизации обычного текста.
Первоначально созданная в 2006 году для поддержки Google Docs, эта библиотека теперь доступна на C++, C#, Dart, Java, JavaScript, Lua, Objective C и Python.
Хотя каждый языковой порт Diff Match Patch использует один и тот же API, существуют некоторые примечания для конкретного языка.
Стандартизированный тест скорости отслеживает относительную производительность различий на каждом языке.
Эта библиотека реализует алгоритм сравнения Майера, который обычно считается лучшим универсальным алгоритмом сравнения. Алгоритм сравнения окружен слоем ускорения перед сравнением и очистки после сравнения, улучшая как производительность, так и качество вывода.
Эта библиотека также реализует алгоритм сопоставления Bitap, лежащий в основе гибкой стратегии сопоставления и исправлений.