Skip to content
Snippets Groups Projects
  1. 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
    • Philippe Pepiot's avatar
      8fb54719f987
  2. 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
  3. Apr 24, 2018
    • Boris Feld's avatar
      Fix time_log_history · 89bc86614221
      Boris Feld authored
      We want to display N changesets but `tip~%d:` can display much more changesets
      than N.
      89bc86614221
  4. Apr 23, 2018
  5. Apr 12, 2018
    • Philippe Pepiot's avatar
      Add a benchmark for hg archive -t {files,tar} -r default · 984badc7eb52
      Philippe Pepiot authored
      Results for "asv dev --bench time_archive":
      
      ====================== ======= =======
      --                          param2
      ---------------------- ---------------
               repo           files    tar
      ====================== ======= =======
            pypy-2017         8.17s   7.96s
          netbeans-2017       2.46m   2.44m
       mozilla-central-2017   2.53m   2.40m
          mercurial-2017      2.06s   2.13s
      ====================== ======= =======
      984badc7eb52
    • Philippe Pepiot's avatar
      Add a benchmark for "hg files -r default" · 2cd33e8f03af
      Philippe Pepiot authored
      Results for "asv dev --bench time_files":
      
      ====================== =======
               repo
      ---------------------- -------
            pypy-2017         127ms
          netbeans-2017       916ms
       mozilla-central-2017   1.30s
          mercurial-2017      103ms
      ====================== =======
      2cd33e8f03af
  6. Apr 19, 2018
  7. Apr 12, 2018
  8. Apr 05, 2018
  9. Apr 04, 2018
  10. Mar 22, 2018
  11. Mar 28, 2018
  12. Jan 31, 2018
  13. Mar 02, 2018
  14. Feb 20, 2018
  15. Jan 24, 2018
  16. Jan 23, 2018
  17. Jan 19, 2018
  18. Jan 17, 2018
    • Philippe Pepiot's avatar
      Reimplement push benchmark using clone of partial clone and rsync · 134169049559
      Philippe Pepiot authored
      Implement a new base benchmark class that is shared with incoming/outgoing benchmarks.
      
      push benchmark use rsync with hardlinks to "reset" the clone of the partial clone at each repeat.
      
      Use a timeout of 300 which is enough for me on mozilla repo.
      134169049559
    • Philippe Pepiot's avatar
      Use unique name for partial clones · aba709289ed3
      Philippe Pepiot authored
      We may want use multiple partial clones in the future, set an unique name for a given partial clone to
      
      partial-$repo_name-$stripped_revset(b64 encoded)
      aba709289ed3
    • Philippe Pepiot's avatar
      Re(re-re-re) implement exchange benchmarks · 73baad28aae0
      Philippe Pepiot authored
      Use prepare_repos.py to create partial benchmarks which are cloned, then
      stripped. This use debugupdatecahce which require hg >= 4.3 (we use the system
      installed hg for that).
      
      Partial clones are then used in incoming/outgoing benchmark which can then be
      switched to "time" benchmark allowing ASV to control the number of loop etc.
      
      Since we're using subprocesses use timeit.default_timer as timer.
      73baad28aae0
    • Philippe Pepiot's avatar
      simplify clone creation script · 3a8d88483eaf
      Philippe Pepiot authored
      By merging check_repositories() in clone_repositories
      3a8d88483eaf
  19. Jan 15, 2018
Loading