Skip to content
Snippets Groups Projects
  1. Feb 26, 2019
  2. Feb 13, 2019
  3. Mar 04, 2019
    • Raphaël Gomès's avatar
      Make the repos directory path configurable. · fc1af90dc2b7
      Raphaël Gomès authored
      We currently are limited in the way that tests can be run against
      the test data, which has to reside in the same folder.
      For reasons of flexibility and/or performance, one might need to
      change the filesystem path to the repositories being tested.
      This change introduces a new config variable "repodir" which
      must contain a valid path. While this path is ran through `os.path.abspath`,
      it is recommended to use an absolute path, since the working directory in this context
      is not garanteed to be stable.
      fc1af90dc2b7
  4. Feb 12, 2019
  5. Jan 25, 2019
  6. Nov 23, 2018
  7. Nov 07, 2018
  8. Aug 30, 2018
  9. Jul 06, 2018
  10. Aug 13, 2018
  11. Aug 02, 2018
  12. Aug 01, 2018
  13. May 17, 2018
  14. Apr 26, 2018
    • Philippe Pepiot's avatar
      Skip http benchmarks for broken revision of hgweb · f83f09687576
      Philippe Pepiot authored
      hgweb is broken on some revisions of mercurial (see https://bz.mercurial-scm.org/show_bug.cgi?id=5851).
      Skip http benchmark on such revisions to avoid long timeouts and hgweb process leak.
      
      Add a 'skip' key to config.yaml with known broken revisions for given feature,
      compile all revisions in repos/skip.json and use it in the benchmark code to
      decide of current revision should be skipped or not.
      
      Use asv way to skip tests in setup() and raise NotImplementedError in such cases.
      
      $ asv run --bench time_push --show-stderr --no-pull 4.6rc0
      ================ =========== =================== ============ ============
      --                                                         revset
      ------------------------------------------------ -------------------------
            repo        repo_type         strip            None       default
      ================ =========== =================== ============ ============
       mercurial-2017     local            same          98.9±1ms     102±1ms
       mercurial-2017     local      last(all(), 10)     127±1ms      139±10ms
       mercurial-2017     local      last(all(), 100)    190±3ms      212±2ms
       mercurial-2017     local     last(all(), 1000)    823±20ms     839±7ms
       mercurial-2017      ssh             same          325±7ms      333±10ms
       mercurial-2017      ssh       last(all(), 10)     405±30ms     383±9ms
       mercurial-2017      ssh       last(all(), 100)    468±30ms     495±20ms
       mercurial-2017      ssh      last(all(), 1000)   1.27±0.05s   1.26±0.02s
       mercurial-2017      http            same            n/a          n/a
       mercurial-2017      http      last(all(), 10)       n/a          n/a
       mercurial-2017      http      last(all(), 100)      n/a          n/a
       mercurial-2017      http     last(all(), 1000)      n/a          n/a
      ================ =========== =================== ============ ============
      f83f09687576
  15. Apr 12, 2018
    • Philippe Pepiot's avatar
      Ignore unknown perf.py commands error · b502ed40b596
      Philippe Pepiot authored
      Since we are using the perf.py from the benchmarked mercurial, some commands
      may not be availables. When hg fail with exit code 255, use 'hg help' to
      determine the existence of the command.  Skip gracefully when command does not
      exist by returning NaN which is the equivalent of "skipped" for asv (same
      behavior as raising NotImplementedError in setup()).
      
      Output for "asv run --bench perfphases --show-stderr --no-pull f85de28eae32e7d3":
      
      ====================== =====
               repo
      ---------------------- -----
            pypy-2017         n/a
          netbeans-2017       n/a
       mozilla-central-2017   n/a
          mercurial-2017      n/a
      ====================== =====
      b502ed40b596
  16. Apr 23, 2018
  17. Apr 12, 2018
  18. Mar 22, 2018
    • Philippe Pepiot's avatar
      Implement exchange benchmarks over ssh · 56210ae92fd5
      Philippe Pepiot authored
      This work by adding a 'type' param which can be local or ssh.
      For ssh, use '--remotecmd /path/to/benchmarked/hg' and
      'ssh://localhost//path/to/repo', this assume the user running asv can ssh to
      localhost without password by using a key without passphrase or with ssh-agent.
      
      To have ssh-agent working we must allow passing SSH_AUTH_SOCK through subprocesses.
      56210ae92fd5
  19. Jan 31, 2018
    • Philippe Pepiot's avatar
      Fix pull/push benchmarks · d2d2c44a228f
      Philippe Pepiot authored
      In ASV setup is run for each repeat but benchmark function is run `number` of
      time within the same repetition (calling it a "sample").
      
      So for push / pull benchmarks, number should be set to 1 (call setup before
      each call of the benchmark method), also setup isn't called during "warmup"
      time, so disable it.
      
      Set repeat to 20 (instead of the default 10) this should be enough to have
      stable results while keeping benchmark time reasonable.
      
      Also move benchmark params (number, timer) to class variable.
      d2d2c44a228f
  20. Jan 19, 2018
  21. Jan 10, 2018
  22. Dec 14, 2017
Loading