Mercurial > hg
view relnotes/5.3 @ 46775:c94fa884240b
rust: Preallocate the returned `Vec` in `utils::files::relativize_path`
Profiling `rhg files > /dev/null` on an old snapshot of mozilla-central
(with `perf` and the Firefox Profiler:
https://github.com/firefox-devtools/profiler/blob/main/docs-user/guide-perf-profiling.md)
showed non-trivial time spend in this function and in `realloc`.
This change makes the wall-clock time for that process on my machine
go from ~190 ms to ~150 ms.
Differential Revision: https://phab.mercurial-scm.org/D10199
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Sat, 13 Mar 2021 08:59:03 +0100 |
parents | 1f8f215219ff |
children |
line wrap: on
line source
== New Features == * Windows will process hgrc files in %PROGRAMDATA%\Mercurial\hgrc.d. == New Experimental Features == == Bug Fixes == * The `indent()` template function was documented to not indent empty lines, but it still indented the first line even if it was empty. It no longer does that. == Backwards Compatibility Changes == == Internal API Changes == * Matcher instances no longer have a `explicitdir` property. Consider rewriting your code to use `repo.wvfs.isdir()` and/or `ctx.hasdir()` instead. Also, the `traversedir` property is now also called when only `explicitdir` used to be called. That may mean that you can simply remove the use of `explicitdir` if you were already using `traversedir`. * The `revlog.nodemap` object have been merged into the `revlog.index` object. * `n in revlog.nodemap` becomes `revlog.index.has_node(n)`, * `revlog.nodemap[n]` becomes `revlog.index.rev(n)`, * `revlog.nodemap.get(n)` becomes `revlog.index.get_rev(n)`. * `copies.duplicatecopies()` was renamed to `copies.graftcopies()`. Its arguments changed from revision numbers to context objects. It also lost its `repo` and `skip` arguments (they should no longer be needed).