Skip to content
Snippets Groups Projects
  1. Jul 06, 2018
  2. Aug 13, 2018
  3. Aug 02, 2018
  4. Aug 01, 2018
  5. May 17, 2018
  6. Apr 26, 2018
    • Philippe Pepiot's avatar
      Skip http benchmarks for broken revision of hgweb · f83f0968
      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
      ================ =========== =================== ============ ============
      f83f0968
  7. Apr 12, 2018
    • Philippe Pepiot's avatar
      Ignore unknown perf.py commands error · b502ed40
      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
      ====================== =====
      b502ed40
  8. Apr 23, 2018
  9. Apr 12, 2018
  10. Mar 22, 2018
    • Philippe Pepiot's avatar
      Implement exchange benchmarks over ssh · 56210ae9
      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.
      56210ae9
  11. Jan 31, 2018
    • Philippe Pepiot's avatar
      Fix pull/push benchmarks · d2d2c44a
      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.
      d2d2c44a
  12. Jan 19, 2018
  13. Jan 10, 2018
  14. Dec 14, 2017
  15. Dec 13, 2017
  16. Nov 27, 2017
  17. Jun 19, 2017
Loading