Binary Comparison

In the directory comparison mode, pairs that differ in file size or file date are marked as different without reading their contents. Pairs with equal size and date are verified automatically in the background: their contents are read and compared while you browse (the status bar counts the pairs still awaiting verification).

Binary Comparison finishes that verification on demand: every pair whose content status is still unknown is read and compared now, under a progress dialog. This also resolves pairs the background pass does not cover — for example when comparing a directory against an archive.

Note: when a pair of program files (.exe, .dll, …) is opened for file comparison, the version info view is shown instead of the raw file contents.

Opening a binary file pair

When a pair of binary (non-text) files is opened for file comparison, Diffoniq does not attempt a line-by-line diff of the raw bytes. Instead both files are compared byte by byte in a single quick pass, and each pane shows a short summary:

The comparison stops at the first difference, which is why the summary of an unequal pair is shorter: only a pair that turns out identical is read all the way through, and only then does a content hash exist — a hash covering just the part read before the difference would be a value that compares to nothing. Comparing two large files that differ early is therefore nearly instant, while confirming that two large files are identical takes as long as reading them.

Files of different lengths already differ, but the offset is reported all the same, because it answers a question the sizes do not: a file that matches all the way to the shorter one’s end is a truncated copy, while one that differs near the start is simply a different file.

Lines that differ between the two files are marked like any other difference.