A couple of technical notes:<p>&gt; such as a repository structure optimized for performance<p>Actually, repository structure hasn&#x27;t fundamentally changed (unless you count the RevlogNG change in 0.9). There have been changes so that data on disk compresses better (the generaldelta change) and there&#x27;s more underway to support new features (such as narrow clones), but they generally aren&#x27;t performance-related.<p>I note that this is a good thing: Mercurial&#x27;s repository structure allows it to do things that aren&#x27;t easy for Git, especially efficient random access to history (Git&#x27;s structures are generally optimized for access close to HEAD and the root of the directory tree), at the expense of requiring more disk space.<p>The performance improvements you&#x27;ve seen most likely come from more&#x2F;better caching or reimplementation of time-critical code.<p>&gt; fast branches without making a separate working directory for each<p>That was always possible. Documentation (such as the Mercurial book) suggested a clone-based workflow for reasons of convenience and because that&#x27;s what people were used to at the time, not because you had to do it this way.