Milliseconds, not seconds
Myers diff implemented in Rust, compiled to WebAssembly. On an everyday diff it runs about even with jsdiff, the standard JavaScript library — both finish a 5,000-line file in under two milliseconds. The payoff is the worst case: jsdiff's time climbs with the number of edits, while this engine's is capped.
5,000-line file · this engine1.52 ms
5,000-line file · jsdiff1.85 ms
near parity on a typical diff; on a 3,000-line rewrite jsdiff takes 1.15 s and this engine 22 ms. medians on committed fixtures: scripts/bench-vs-js.mjs · all benchmarks
Your text never leaves the browser
100% client-side. Compare contracts, source code, or other sensitive text without sending the content to a server. After the engine loads, diffing in the open tab needs no network connection.
Open source core
The Rust diff engine is MIT-licensed. Audit it, embed it, or use it in your own Rust application.
$ cargo add diffwtf-core