Skip to content
Snippets Groups Projects
  1. Mar 05, 2019
  2. Jan 24, 2019
    • Georges Racinet's avatar
      track_discovery: benchmark running perfdiscovery · 6444653212d3
      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.)
      6444653212d3
  3. Nov 23, 2018
  4. Nov 02, 2018
  5. Sep 06, 2018
  6. Aug 30, 2018
  7. Jun 15, 2018
  8. Jun 12, 2018
    • Philippe Pepiot's avatar
      Add a clone --stream benchmark · 21e8fb819e57
      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.
      21e8fb819e57
    • Philippe Pepiot's avatar
      Enable clone benchmarks for all reference repositories · 71963760ac6d
      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.
      71963760ac6d
    • Philippe Pepiot's avatar
      Drop useless param 'strip' from clone benchmarks · 38865651f487
      Philippe Pepiot authored
      'strip' param was only taking one value 'same'.
      Drop this param by inheriting from BaseTestSuite instead of
      BaseExchangeTimeSuite.
      38865651f487
    • Philippe Pepiot's avatar
      Handle params "repo_type" and "revset" Mixin class · 49aa5eec015c
      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.
      49aa5eec015c
  9. May 17, 2018
    • Philippe Pepiot's avatar
      Use 'tip' instead of 'default' as revision variant · dbf6c2ca5ed8
      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.
      dbf6c2ca5ed8
  10. Aug 14, 2018
  11. Jul 06, 2018
  12. Aug 13, 2018
    • Pierre-Yves David's avatar
      benchmarks: disable clone tests · 2f98daaed991
      Pierre-Yves David authored
      There are know issue with the current clone tests, so we disable them entirely
      until they get fixed.
      2f98daaed991
    • Pierre-Yves David's avatar
      benchmarks: remove all sample_time usage · abcbf0707208
      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.
      abcbf0707208
  13. Aug 02, 2018
  14. Aug 01, 2018
  15. Jul 31, 2018
  16. Jul 27, 2018
  17. Jun 19, 2018
  18. May 17, 2018
Loading