- Oct 08, 2019
-
-
Pierre-Yves David authored
-
- Sep 24, 2019
-
-
Pierre-Yves David authored
The cache warming stage for larger repository have make this overflow
-
Pierre-Yves David authored
Let's try to move toward a new a better naming.
-
Pierre-Yves David authored
If things are slow, we'll do with less loop. That is better than very long bench run and no numbers from time out.
-
Pierre-Yves David authored
-
Pierre-Yves David authored
-
- Sep 14, 2019
-
-
Pierre-Yves David authored
using explicite naming scheme help us to be more agile in the source code organisation. We extract an `utils.exchange` module in the process.
-
Pierre-Yves David authored
We move them to a new naming scheme
-
Pierre-Yves David authored
The current bench suite grew to an unmanageable point. Let us comment everything and reintroduce them slowly with scrutiny.
-
- Jul 22, 2019
-
-
Raphaël Gomès authored
If the `setup` method fails, the tests session waits for timeout (1800s per benchmark!), because BaseExchangeMixin's setup launches `hg serve`. The ASV test runner does not understand that setup failed and it should move on to the next benchmark. This shuts down the `hg serve` in case the `setup` breaks.
-
- Jul 18, 2019
-
-
Pierre-Yves David authored
`self.check_output` call signature is sightly different from `subprocess.check_output`, so the call was wrong.
-
- May 17, 2019
-
-
Pierre-Yves David authored
Exchange test takes a lot of time, rsync is one of the factor. Factoring the code will make it easier to improve and measure.
-
Pierre-Yves David authored
-
- May 18, 2019
-
-
Pierre-Yves David authored
This benchmark measure cases where both side has missing changed. pypy and mozilla-try has partial variant for it.
-
- May 19, 2019
-
-
Pierre-Yves David authored
Otherwise, we can modify an inherited list, affecting all other benchmark.
-
- Apr 28, 2019
-
-
Pierre-Yves David authored
This one is dedicated to tracking the time taken for two identical repository to realise they are identical. We take the addition of a new test as an opportunity to give it a proper name to this test.
-
Pierre-Yves David authored
The existing discovery test are now using the new roles information. To keep the compatibility witht he older class structure. We are using the `benchmark_name` feature to keep the same name. We'll probably want to use the very same feature to rename all test later into something more sensible. However, as a side effect, this means we are dropping the "same" variant of the subset/super set test. So ASV will be confused by the params value change... <sigh>. Important note: for this discovery to work, benchmark now needs to be have an upgraded reference.
-
- Apr 27, 2019
-
-
Pierre-Yves David authored
benchmark test can now "easily" use the new role information. A `BaseExchangeTimeSuite` subclass can use the `role_action` and `role_subtype` to declare the role the class is using. Then decorate the class with `@setup_role` to make sure the parameters variants are properly set. Finally the appropriate data can we accessed through the `role_data` property.
-
Pierre-Yves David authored
This make sure it is available for those who need it without being required to initialize the object. This will be useful as we migrate exchange tests from the "old way" (clone_path) to the "new way" (role based), see later changeset for details.
-
Pierre-Yves David authored
The debug command scope is not stable and impact the result. We should use the `perfdiscovery` command instead. The current main limitation for the `perfdiscovery` command right now is the fact we don't make is available for revision before it was introduced (even if it should be compatible).
-
Pierre-Yves David authored
This is not a long doc, but should help to navigate the code.
-
Pierre-Yves David authored
This is not a long doc, but should help to navigate the code.
-
Pierre-Yves David authored
The function gather existing code to compute a partial repository path for a given partial version of the main repository. This will be useful later for a more flexible access to partials during discovery.
-
Pierre-Yves David authored
The strip is an implementation detail. The partial_key seems a clearer name. (note: I am not sure about the "partial" part, but I could not find any better).
-
Pierre-Yves David authored
In some situation, the tear down might try to access an attribute not initialized yet. This is annoying since this usually hide the initial error. To avoid that, we set the default attribute value on the class to make sure the tear down find an appropriate value.
-
- Mar 30, 2019
-
-
Pierre-Yves David authored
If no revision is checkout, the "update" variant of the test will fail since there are no file to update. Before this change, the error was quite obscure: no file name was return, as a result the filepath was just the repo directory and `open(…)` call failed. Now we explicitly detect the error and warn about it. I am not sure what error should be raised, So I am going for a classical ValueError.
-
Pierre-Yves David authored
-
- Mar 29, 2019
-
-
Pierre-Yves David authored
This mark the end of the infamous hidden directory.
-
- Mar 28, 2019
-
-
Boris Feld authored
-
- Mar 27, 2019
-
-
Boris Feld authored
We need to use the repo name with the hash in order to find the right partial repository.
-
- Mar 28, 2019
-
-
Raphaël Gomès authored
`hg web` was broken for a certain range of changesets. Make use of the new `not_compatible_with` decorator to reflect that.
-
- Mar 05, 2019
-
-
Raphaël Gomès authored
Strip variants can differ between repos and should not be hardcoded. This change uses the data from the .benchrepo file for each repo to pass to each corresponding test. We are new storing the entire repo prefix instead of only storing the hash, since it is just as unique, removing the need to recompute the prefix from the hash later in the code.
-
- Mar 04, 2019
-
-
Raphaël Gomès authored
This list used to be hardcoded, this change gathers the unique strip variants into a list from every .benchrepo file for use in the ASV test matrix.
-
- Mar 05, 2019
-
-
Boris Feld authored
As we know use kwargs in setup too, we need to change how we compute the repo_name.
-
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.
-