Monday, August 25, 2025

Retcon 1.4

Nathan Manceaux-Panot:

Enjoy staggering performance improvements. Every last part of the app has been thoroughly tuned: Retcon is now incredibly responsive, and easily handles Git histories with hundreds of thousands of commits.

No compromise was made to reach these speeds: Retcon still transparently preserves your working directory and stage, offers pervasive undo, a combined stage, and the ability to rewrite history even when conflicts are pending.

I kind of love seeing release notes that are like: no new features, we just fixed some bugs and made it 35× faster.

Previously:

Update (2026-04-29): Nathan Manceaux-Panot (Mastodon):

Well, there’s no single thing. Months of work resulted in numerous, surprisingly diverse optimizations; some expected, some eyebrow-raising. Despite that variety, however, one kind of optimization ended up the most common by far: caches.

[…]

It’s a no-brainer to cache the output of this expensive measuring process, as a given hunk will often stay the exact same when the diff view is refreshed. Here’s the tricky part, though: what does it mean to be the exact same? If the hunk’s text remains unchanged, but the window becomes wider, then we should redo the measurement—more horizontal space means less wrapping. If one of the hunk’s neighbors changes in content, we ostensibly don’t need to reflow the unchanged hunk itself—unless the neighbor’s line numbers are now different, since these dictate the width of the line number gutter, which is shared by all of a file’s hunks. So many variables to take into account, coming from such distinct sources!

Previously:

1 Comment RSS · Twitter · Mastodon


If those were the release notes for the next set of Apple operating systems I might literally cry with joy.

Maybe also add the line: “and we copied all that obvious stuff from Android we just pretended wasn’t better this whole time.”

Leave a Comment