- Mar 05, 2019
-
-
Boris Feld authored
-
Boris Feld authored
-
Boris Feld authored
-
Boris Feld authored
-
- Jan 24, 2019
-
-
Georges Racinet authored
This is using the same stripped clone as benchmarks for incoming/outgoing There are two different benchmark, one for a case where the source in a superset or the remote, one for case where the source in a subset of the remote. A third option where there are exclusive changeset on both side will be implemented later. Side note: perfdiscovery has been introduced in Mercurial public changeset db6cace18765 The pure 'subset' case is interesting, because that's what a CI bot does all the time. It's more generally the point of interest for VCS-based distribution, such as sets of tools etc. (Later on, we shall introduce a 'mixed' case, where both repos have heads that their peer doens't know of.)
-
- Nov 23, 2018
-
-
Pierre-Yves David authored
Now that we have yaml, the sky is the limit.
-
- Nov 02, 2018
-
-
Boris Feld authored
-
- Sep 06, 2018
-
-
Pierre-Yves David authored
-
- Aug 30, 2018
-
-
Pierre-Yves David authored
We use the new options offered by upstream ASV. We use a 3 repeat minimum and 10 repeat max. Max time (before we give up on max repeat) is 60 seconds per variants.
-
- Jun 15, 2018
-
-
Philippe Pepiot authored
So we can compare clone with --noupdate
-
- Jun 12, 2018
-
-
Philippe Pepiot authored
In a dedicated class since results cannot be correlated with clone benchmarks. Also unlike clone benchmarks, don't benchmark with a given revision since --stream will ignore it.
-
Philippe Pepiot authored
This is a bit tricky because there are several constraints: * we must cleanup after clone (in setup/teardown) to limit disk space usage * we must limit benchmark duration (avoid to run too much time on big repositories) * we must have more stable results for small repositories The whole algorithm is in asv.benchmark.benchmark_timing(). To ensure setup/teardown is called before/after each clone we *must* have number = 1 (so timer.timeit() will be called with 1 as argument). Then it's important to have a proper sample_time set, because it will control how long the benchmark will run. timeit() is called `repeat` (default 10) times unless the whole benchmark (= one benchmark function with one set of parameter) takes more than `repeat` * 1.3 * `sample_time` where `sample_time` has a default value of 0.1 This can produce very short times, for instance for a clone duration of 20s this will only run one clone even if repeat is set 10... So use sample_time = (max_time_we_want_the_benchmark_to_run / (repeat * 1.3)) to control maximum whole benchmark duration and to ensure timeit() will be called close to `repeat` times.
-
Philippe Pepiot authored
'strip' param was only taking one value 'same'. Drop this param by inheriting from BaseTestSuite instead of BaseExchangeTimeSuite.
-
Philippe Pepiot authored
In following changesets we will add exchanges benchmarks not using "strip" or "revset" params. Moving this outside of the BaseExchangeTimeSuite allow to re-use this logic without inheriting from it.
-
- May 17, 2018
-
-
Philippe Pepiot authored
This apply to files, archive and exchange benchmarks. Some reference repositories doesn't have a 'default' revision, or it relate to very old changesets that are not stripped by prepare_repos.py, so exchange benchmarks might be irrelevant.
-
- Aug 14, 2018
-
-
Pierre-Yves David authored
The extra "-" is invalid.
-
Pierre-Yves David authored
-
Pierre-Yves David authored
Archive is a fairly long benchmark in all tests. We fix the number of run to 3 to work around limitation of the current ASV scheduling.
-
Pierre-Yves David authored
The `time_archive` benchmark is a long and "files" tends to files on larger repository. We disable it for now. If in the future we start focusing on `hg archive` performance, we can start optimizing this tests.
-
Pierre-Yves David authored
-
Pierre-Yves David authored
This make for clearer command line.
-
- Jul 06, 2018
-
-
Philippe Pepiot authored
-
Philippe Pepiot authored
-
- Aug 13, 2018
-
-
Pierre-Yves David authored
There are know issue with the current clone tests, so we disable them entirely until they get fixed.
-
Pierre-Yves David authored
Setting sample_time to 10 means each variant will be run for 10s and 10 time at mininum. For test with many fast variant the impact on runtime gets very problementation. Dropping this move a full run back to a bit less than 2 hours (from about 18 hours). In the future, we might carefully reintroduce more run in the case where this seems problematic not to.
-
- Aug 02, 2018
-
-
Pierre-Yves David authored
-
- Aug 01, 2018
-
-
Martijn Pieters authored
Also: don't use -A to add new files; add explicitly. A large repository like mozilla-central makes the -A switch way too slow.
-
Pierre-Yves David authored
This should make rsync nicer to SSD, and it might make it faster after small updates.
-
Boris Feld authored
Hardcode variants and revset for the moment
-
Pierre-Yves David authored
-
- Jul 31, 2018
-
-
Boris Feld authored
Also use urlencode in cache repo dir
-
Boris Feld authored
-
- Jul 27, 2018
-
-
Boris Feld authored
-
- Jun 19, 2018
-
-
Boris Feld authored
-
- May 17, 2018
-
-
Philippe Pepiot authored
So benchmarks/* is flake8 compliant
-
Philippe Pepiot authored
All methods on these base classes are now unused, so simply inherit from BaseTestSuite. _timeit() was unused for a while, when we switched from asv track benchmarks to time benchmarks.
-
Philippe Pepiot authored
-
Philippe Pepiot authored
-
Philippe Pepiot authored
Instead of _execute(). Also remove useless 'return' statements since it's not used for *time_* benchmarks.
-
Philippe Pepiot authored
This is not a benchmark and it's unused.
-