Mercurial > hg
view contrib/benchmarks/perf.py @ 44202:a7f8160cc4e4
setup: don't skip the search for global hg.exe if there is no local instance
The point of trying not to blindly execute `hg` on Windows is that the local
hg.exe would be given precedence, and if py3 isn't on PATH, it errors out with a
modal dialog. But that's not a problem if there is no local executable that
could be run.
The problem that I recently ran into was I upgraded the repo format to use zstd.
But doing a `make clean` deletes all of the supporting libraries, causing the
next run to abort with a message about not understanding the
`revlog-compression-zstd` requirement. By getting rid of the local executable
in the previous commit when cleaning, we avoid leaving a broken executable
around, and avoid the py3 PATH problem too. There is still a small hole in that
`hg.exe` needs to be deleted before switching between py2/py3/PyOxidizer builds,
because the zstd module won't load. But that seems like good hygiene anyway.
Differential Revision: https://phab.mercurial-scm.org/D8038
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Tue, 28 Jan 2020 22:27:30 -0500 |
parents | 2372284d9457 |
children | 6000f5b25c9b |
line wrap: on
line source
# perf.py - asv benchmarks using contrib/perf.py extension # # Copyright 2016 Logilab SA <contact@logilab.fr> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. from __future__ import absolute_import from . import perfbench @perfbench() def track_tags(perf): return perf("perftags") @perfbench() def track_status(perf): return perf("perfstatus", unknown=False) @perfbench(params=[('rev', ['1000', '10000', 'tip'])]) def track_manifest(perf, rev): return perf("perfmanifest", rev) @perfbench() def track_heads(perf): return perf("perfheads")