# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@octobus.net>
# Date 1679586187 0
#      Thu Mar 23 15:43:07 2023 +0000
# Node ID e2a31b27845cba9f62388520545c588ac28cf79a
# Parent  57277c04b2ac48f194c34bfbd28c893932189854
benchmarks: add a benchmark for update

diff --git a/suites/hg/benchmarks/update.pbd b/suites/hg/benchmarks/update.pbd
new file mode 100644
--- /dev/null
+++ b/suites/hg/benchmarks/update.pbd
@@ -0,0 +1,55 @@
+[meta]
+format="0"
+name="update"
+method="simple-command"
+
+[run]
+copy-data-env = true
+
+[simple-command]
+command='hg $ATOMIC_UPDATE_CFG $WORKER_CFG update -R "$MAIN_REPO" $UPDATE_DESTINATION'
+prepare-run = """
+hg update -R "$MAIN_REPO" $UPDATE_SOURCE --clean
+"""
+[environment]
+MAIN_REPO="DATA-VARS:mercurial.main-repo-path"
+
+[simple-command.variants.dimensions.scenario.null-to-tip]
+default=true
+environment.UPDATE_SOURCE="null"
+environment.UPDATE_DESTINATION="tip"
+
+[simple-command.variants.dimensions.atomic-update.no]
+default=true
+environment.ATOMIC_UPDATE_CFG="--config experimental.update.atomic-file=no"
+
+[simple-command.variants.dimensions.atomic-update.yes]
+environment.ATOMIC_UPDATE_CFG="--config experimental.update.atomic-file=yes"
+
+[simple-command.variants.dimensions.worker.default]
+default=true
+
+
+[simple-command.variants.dimensions.worker.no]
+environment.WORKER_CFG="--config worker.enabled=no"
+
+[simple-command.variants.dimensions.worker.1]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=1"
+
+[simple-command.variants.dimensions.worker.2]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=2"
+
+[simple-command.variants.dimensions.worker.4]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=4"
+
+[simple-command.variants.dimensions.worker.8]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=8"
+
+[simple-command.variants.dimensions.worker.16]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=16"
+
+[simple-command.variants.dimensions.worker.32]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=32"
+
+[simple-command.variants.dimensions.worker.64]
+environment.WORKER_CFG="--config worker.enabled=yes --config worker.numcpus=64"