Skip to content
Snippets Groups Projects
  1. Jan 07, 2025
    • Raphaël Gomès's avatar
      rust: clean up the dependency tree from the pyo3 transition · dd378072137d
      Raphaël Gomès authored
      These dependencies are not needed anymore, so trim them down.
      dd378072137d
    • Raphaël Gomès's avatar
      rust-pyo3: remove the now unused `convert_cpython` module · b8cd277d26f4
      Raphaël Gomès authored
      This was unvaluable during the start of the transition period, but is useless
      now that the `InnerRevlog` translation is over.
      b8cd277d26f4
    • Raphaël Gomès's avatar
      rust-pyo3: switch over to the pyo3 `InnerRevlog` · e52dc683bf6b
      Raphaël Gomès authored
      This does many things that would involve a lot of churn if done separately:
      	- Move the ancestors, revision and dagops modules to use the
      	  new `SharedByPyObject` instead of the old `UnsafePyLeaked`
      	- Move the ancestors and discovery Python tests to using PyO3
      	- Change all calls to `importrust` to use `pyo3=True`, where applicable
      
      # Benchmarks
      
      I've run a bunch of benchmarks that involve revlog use. The TL;DR is that
      the pyo3 code is basically always very slightly faster if/when it's not within
      the noise levels.
      
      Here is the report:
      
      ```
      ### data-env-vars.name            = heptapod-public-2024-03-25-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 8.425445  ~~~~~
       after: 8.170007   (-3.03%, -0.26)
      ### data-env-vars.name            = heptapod-public-2024-03-25-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 8.328969  ~~~~~
       after: 8.193693   (-1.62%, -0.14)
      ### data-env-vars.name            = heptapod-public-2024-03-25-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.318721  ~~~~~
       after: 0.317050
      ### data-env-vars.name            = heptapod-public-2024-03-25-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.315603  ~~~~~
       after: 0.311842   (-1.19%, -0.00)
      ### data-env-vars.name            = heptapod-public-2024-03-25-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 15.422452  ~~~~~
       after: 15.417195
      ### data-env-vars.name            = heptapod-public-2024-03-25-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 15.424805  ~~~~~
       after: 15.417188
      ### data-env-vars.name            = heptapod-public-2024-03-25-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 8.447181  ~~~~~
       after: 8.279321   (-1.99%, -0.17)
      ### data-env-vars.name            = heptapod-public-2024-03-25-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 8.399840  ~~~~~
       after: 8.310752   (-1.06%, -0.09)
      ### data-env-vars.name            = heptapod-public-2024-03-25-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.352319  ~~~~~
       after: 0.353375
      ### data-env-vars.name            = heptapod-public-2024-03-25-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.322006  ~~~~~
       after: 0.323852
      ### data-env-vars.name            = heptapod-public-2024-03-25-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 16.183304  ~~~~~
       after: 16.177351
      ### data-env-vars.name            = heptapod-public-2024-03-25-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 16.169041  ~~~~~
       after: 16.173200
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.559746  ~~~~~
       after: 0.548727   (-1.97%, -0.01)
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.551662  ~~~~~
       after: 0.548478
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.294767  ~~~~~
       after: 0.291008   (-1.28%, -0.00)
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.290598  ~~~~~
       after: 0.288139
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.128753  ~~~~~
       after: 0.127942
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.128310  ~~~~~
       after: 0.128236
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 4.968975  ~~~~~
       after: 4.804225   (-3.32%, -0.16)
      ### data-env-vars.name            = mercurial-public-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 5.038150  ~~~~~
       after: 4.821872   (-4.29%, -0.22)
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.560542  ~~~~~
       after: 0.557323
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.554099  ~~~~~
       after: 0.553200
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.292676  ~~~~~
       after: 0.292513
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.288629  ~~~~~
       after: 0.287737
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.223442  ~~~~~
       after: 0.223168
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.223376  ~~~~~
       after: 0.222181
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 4.691464  ~~~~~
       after: 4.567641   (-2.64%, -0.12)
      ### data-env-vars.name            = mercurial-public-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 4.700062  ~~~~~
       after: 4.616739   (-1.77%, -0.08)
      ### data-env-vars.name            = mercurial-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.708915  ~~~~~
       after: 0.697581   (-1.60%, -0.01)
      ### data-env-vars.name            = mercurial-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.698667  ~~~~~
       after: 0.693792
      ### data-env-vars.name            = mercurial-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.302459  ~~~~~
       after: 0.296517   (-1.96%, -0.01)
      ### data-env-vars.name            = mercurial-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.297432  ~~~~~
       after: 0.293347   (-1.37%, -0.00)
      ### data-env-vars.name            = mercurial-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.200229  ~~~~~
       after: 0.199035
      ### data-env-vars.name            = mercurial-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.199995  ~~~~~
       after: 0.199130
      ### data-env-vars.name            = mercurial-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.712384  ~~~~~
       after: 0.703804   (-1.20%, -0.01)
      ### data-env-vars.name            = mercurial-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 0.704736  ~~~~~
       after: 0.699944
      ### data-env-vars.name            = mercurial-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.300989  ~~~~~
       after: 0.300870
      ### data-env-vars.name            = mercurial-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.296388  ~~~~~
       after: 0.295122
      ### data-env-vars.name            = mercurial-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.323753  ~~~~~
       after: 0.328260   (+1.39%, +0.00)
      ### data-env-vars.name            = mercurial-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.326091  ~~~~~
       after: 0.325825
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 36.797693  ~~~~~
       after: 35.395390   (-3.81%, -1.40)
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 36.400602  ~~~~~
       after: 35.793828   (-1.67%, -0.61)
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.303372  ~~~~~
       after: 0.302275
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.300228  ~~~~~
       after: 0.299014
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 133.610273  ~~~~~
       after: 134.082667
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 133.560602  ~~~~~
       after: 133.560186
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 32.279654  ~~~~~
       after: 31.937365   (-1.06%, -0.34)
      ### data-env-vars.name            = mozilla-central-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 32.393790  ~~~~~
       after: 32.059161   (-1.03%, -0.33)
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 36.750314  ~~~~~
       after: 35.659837   (-2.97%, -1.09)
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 36.132511  ~~~~~
       after: 35.533999   (-1.66%, -0.60)
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.426249  ~~~~~
       after: 0.427237
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.297567  ~~~~~
       after: 0.297548
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 135.684726  ~~~~~
       after: 135.554733
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 135.521429  ~~~~~
       after: 135.471735
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 32.138181  ~~~~~
       after: 31.376612   (-2.37%, -0.76)
      ### data-env-vars.name            = mozilla-central-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 32.436170  ~~~~~
       after: 31.800662   (-1.96%, -0.64)
      ### data-env-vars.name            = mozilla-central-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 56.412651  ~~~~~
       after: 55.968979
      ### data-env-vars.name            = mozilla-central-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 57.291139  ~~~~~
       after: 55.623600   (-2.91%, -1.67)
      ### data-env-vars.name            = mozilla-central-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.305015  ~~~~~
       after: 0.302645
      ### data-env-vars.name            = mozilla-central-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.299651  ~~~~~
       after: 0.296140   (-1.17%, -0.00)
      ### data-env-vars.name            = mozilla-central-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 372.603646  ~~~~~
       after: 379.958592   (+1.97%, +7.35)
      ### data-env-vars.name            = mozilla-central-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 372.571283  ~~~~~
       after: 376.975082   (+1.18%, +4.40)
      ### data-env-vars.name            = mozilla-central-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 57.900620  ~~~~~
       after: 56.628974   (-2.20%, -1.27)
      ### data-env-vars.name            = mozilla-central-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 56.772457  ~~~~~
       after: 56.219994
      ### data-env-vars.name            = mozilla-central-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.497401  ~~~~~
       after: 0.498934
      ### data-env-vars.name            = mozilla-central-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.298446  ~~~~~
       after: 0.297411
      ### data-env-vars.name            = mozilla-central-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 376.794500  ~~~~~
       after: 377.126872
      ### data-env-vars.name            = mozilla-central-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 377.108643  ~~~~~
       after: 378.355222
      ### data-env-vars.name            = mozilla-try-2024-03-26-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 58.211350  ~~~~~
       after: 56.179941   (-3.49%, -2.03)
      ### data-env-vars.name            = mozilla-try-2024-03-26-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 1.221867  ~~~~~
       after: 1.171836   (-4.09%, -0.05)
      ### data-env-vars.name            = mozilla-try-2024-03-26-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = yes
        # benchmark.variants.rev        = none
      before: 169.190180  ~~~~~
       after: 167.816681
      ### data-env-vars.name                             = mozilla-try-2024-03-26-ds2-pnm
        # benchmark.name                                 = hg.command.unbundle
        # bin-env-vars.hg.flavor                         = rust
        # bin-env-vars.hg.py-re2-module                  = default
        # benchmark.variants.issue6528                   = default
        # benchmark.variants.resource-usage              = default
        # benchmark.variants.reuse-external-delta-parent = default
        # benchmark.variants.revs                        = any-10000-extra-rev
        # benchmark.variants.source                      = unbundle
        # benchmark.variants.validate                    = default
        # benchmark.variants.verbosity                   = quiet
      before: 70.573063  ~~~~~
       after: 70.149730
      ### data-env-vars.name            = mozilla-try-2024-03-26-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 2469.554928  ~~~~~
       after: 2459.756854
      ### data-env-vars.name            = mozilla-try-2024-03-26-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 63.259498  ~~~~~
       after: 62.934324
      ### data-env-vars.name            = mozilla-unified-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 52.009024  ~~~~~
       after: 51.021327   (-1.90%, -0.99)
      ### data-env-vars.name            = mozilla-unified-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 52.021120  ~~~~~
       after: 51.187100   (-1.60%, -0.83)
      ### data-env-vars.name            = mozilla-unified-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.316214  ~~~~~
       after: 0.313213
      ### data-env-vars.name            = mozilla-unified-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.314039  ~~~~~
       after: 0.309434   (-1.47%, -0.00)
      ### data-env-vars.name            = mozilla-unified-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 419.229602  ~~~~~
       after: 418.731461
      ### data-env-vars.name            = mozilla-unified-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 419.121169  ~~~~~
       after: 418.893086
      ### data-env-vars.name            = mozilla-unified-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 52.298052  ~~~~~
       after: 51.680823   (-1.18%, -0.62)
      ### data-env-vars.name            = mozilla-unified-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 51.979719  ~~~~~
       after: 50.517619   (-2.81%, -1.46)
      ### data-env-vars.name            = mozilla-unified-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.542347  ~~~~~
       after: 0.541494
      ### data-env-vars.name            = mozilla-unified-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.361585  ~~~~~
       after: 0.359601
      ### data-env-vars.name            = mozilla-unified-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 424.435573  ~~~~~
       after: 425.054393
      ### data-env-vars.name            = mozilla-unified-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 425.369579  ~~~~~
       after: 424.182501
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.169597  ~~~~~
       after: 16.809620   (-2.10%, -0.36)
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.052174  ~~~~~
       after: 16.873865   (-1.05%, -0.18)
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.300405  ~~~~~
       after: 0.296493   (-1.30%, -0.00)
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.296907  ~~~~~
       after: 0.291884   (-1.69%, -0.01)
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 76.353166  ~~~~~
       after: 76.315550
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 76.304418  ~~~~~
       after: 76.314896
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 41.448226  ~~~~~
       after: 39.696075   (-4.23%, -1.75)
      ### data-env-vars.name            = netbeans-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 41.489911  ~~~~~
       after: 40.213760   (-3.08%, -1.28)
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.276211  ~~~~~
       after: 16.934238   (-1.98%, -0.34)
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.275566  ~~~~~
       after: 17.151560
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.363647  ~~~~~
       after: 0.364217
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.292249  ~~~~~
       after: 0.293737
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 77.242740  ~~~~~
       after: 77.165247
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 77.189009  ~~~~~
       after: 77.153971
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 40.341299  ~~~~~
       after: 40.604985
      ### data-env-vars.name            = netbeans-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 40.585503  ~~~~~
       after: 40.820806
      ### data-env-vars.name            = netbeans-2019-11-07-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.515332  ~~~~~
       after: 17.190762   (-1.85%, -0.32)
      ### data-env-vars.name            = netbeans-2019-11-07-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.343596  ~~~~~
       after: 17.050369   (-1.69%, -0.29)
      ### data-env-vars.name            = netbeans-2019-11-07-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.316108  ~~~~~
       after: 0.315292
      ### data-env-vars.name            = netbeans-2019-11-07-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.311521  ~~~~~
       after: 0.307919   (-1.16%, -0.00)
      ### data-env-vars.name            = netbeans-2019-11-07-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 80.169792  ~~~~~
       after: 80.090093
      ### data-env-vars.name            = netbeans-2019-11-07-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 80.168257  ~~~~~
       after: 80.203922
      ### data-env-vars.name            = netbeans-2019-11-07-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.471723  ~~~~~
       after: 17.104498   (-2.10%, -0.37)
      ### data-env-vars.name            = netbeans-2019-11-07-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 17.351268  ~~~~~
       after: 17.039244   (-1.80%, -0.31)
      ### data-env-vars.name            = netbeans-2019-11-07-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.379920  ~~~~~
       after: 0.380529
      ### data-env-vars.name            = netbeans-2019-11-07-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.306940  ~~~~~
       after: 0.308172
      ### data-env-vars.name            = netbeans-2019-11-07-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 81.143787  ~~~~~
       after: 81.205227
      ### data-env-vars.name            = netbeans-2019-11-07-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 81.208757  ~~~~~
       after: 81.201285
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.409354  ~~~~~
       after: 1.384783   (-1.74%, -0.02)
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.395327  ~~~~~
       after: 1.379295   (-1.15%, -0.02)
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.305516  ~~~~~
       after: 0.301302   (-1.38%, -0.00)
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.300681  ~~~~~
       after: 0.296424   (-1.42%, -0.00)
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.228350  ~~~~~
       after: 1.225184
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.227250  ~~~~~
       after: 1.226652
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 10.441251  ~~~~~
       after: 10.233845   (-1.99%, -0.21)
      ### data-env-vars.name            = pypy-2018-08-01-ds2-pnm
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 10.477187  ~~~~~
       after: 10.518723
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.406229  ~~~~~
       after: 1.383834   (-1.59%, -0.02)
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.404700  ~~~~~
       after: 1.386296   (-1.31%, -0.02)
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.303247  ~~~~~
       after: 0.304695
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.295575  ~~~~~
       after: 0.294873
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.614998  ~~~~~
       after: 1.619019
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.608089  ~~~~~
       after: 1.613761
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 10.494740  ~~~~~
       after: 10.183642   (-2.96%, -0.31)
      ### data-env-vars.name            = pypy-2018-08-01-zstd-sparse-revlog
        # benchmark.name                = hg.perf.unbundle
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.issue6528  = default
        # benchmark.variants.revs       = any-10000-extra-rev
        # benchmark.variants.source     = default
      before: 10.153362  ~~~~~
       after: 10.208118
      ### data-env-vars.name            = pypy-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.613760  ~~~~~
       after: 1.595667   (-1.12%, -0.02)
      ### data-env-vars.name            = pypy-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.601770  ~~~~~
       after: 1.589591
      ### data-env-vars.name            = pypy-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.300656  ~~~~~
       after: 0.299511
      ### data-env-vars.name            = pypy-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.298116  ~~~~~
       after: 0.34f44a
      ### data-env-vars.name            = pypy-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.451637  ~~~~~
       after: 1.449828
      ### data-env-vars.name            = pypy-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.447463  ~~~~~
       after: 1.447144
      ### data-env-vars.name            = pypy-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.618347  ~~~~~
       after: 1.593819   (-1.52%, -0.02)
      ### data-env-vars.name            = pypy-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.610104  ~~~~~
       after: 1.591181   (-1.18%, -0.02)
      ### data-env-vars.name            = pypy-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.299082  ~~~~~
       after: 0.302411   (+1.11%, +0.00)
      ### data-env-vars.name            = pypy-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.294385  ~~~~~
       after: 0.294103
      ### data-env-vars.name            = pypy-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.896348  ~~~~~
       after: 1.892661
      ### data-env-vars.name            = pypy-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 1.897075  ~~~~~
       after: 1.896864
      ### data-env-vars.name            = tryton-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.823667  ~~~~~
       after: 1.791246   (-1.78%, -0.03)
      ### data-env-vars.name            = tryton-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.820555  ~~~~~
       after: 1.765854   (-3.00%, -0.05)
      ### data-env-vars.name            = tryton-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.340665  ~~~~~
       after: 0.336729   (-1.16%, -0.00)
      ### data-env-vars.name            = tryton-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.335204  ~~~~~
       after: 0.333865
      ### data-env-vars.name            = tryton-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.262541  ~~~~~
       after: 0.261794
      ### data-env-vars.name            = tryton-public-2024-03-22-ds2-pnm
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.261495  ~~~~~
       after: 0.260879
      ### data-env-vars.name            = tryton-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.856138  ~~~~~
       after: 1.784902   (-3.84%, -0.07)
      ### data-env-vars.name            = tryton-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.cat
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.files      = all-root
        # benchmark.variants.output     = plain
        # benchmark.variants.rev        = tip
      before: 1.811432  ~~~~~
       after: 1.782845   (-1.58%, -0.03)
      ### data-env-vars.name            = tryton-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.343215  ~~~~~
       after: 0.341859
      ### data-env-vars.name            = tryton-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.command.log
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.limit-rev  = 1000
        # benchmark.variants.patch      = no
        # benchmark.variants.rev        = none
      before: 0.332617  ~~~~~
       after: 0.331202
      ### data-env-vars.name            = tryton-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rhg
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.590326  ~~~~~
       after: 0.590407
      ### data-env-vars.name            = tryton-public-2024-03-22-zstd-sparse-revlog
        # benchmark.name                = hg.perf.read-revisions
        # bin-env-vars.hg.flavor        = rust
        # bin-env-vars.hg.py-re2-module = default
        # benchmark.variants.order      = default
        # benchmark.variants.revlog     = manifestlog
      before: 0.589567  ~~~~~
       after: 0.588821
      ```
      e52dc683bf6b
  2. Jan 06, 2025
  3. Jan 05, 2025
  4. Jan 07, 2025
  5. Jan 05, 2025
  6. Jan 03, 2025
  7. Jan 02, 2025
  8. Dec 24, 2024
  9. Dec 23, 2024
Loading