diff --git a/contrib/perf.py b/contrib/perf.py
index 2e82bd50978c40fab76d986006a7267e8e9a71f6_Y29udHJpYi9wZXJmLnB5..492de5c0ecddab704593850e4b6b539f8b316c82_Y29udHJpYi9wZXJmLnB5 100644
--- a/contrib/perf.py
+++ b/contrib/perf.py
@@ -2179,7 +2179,15 @@
 
 @command(
     b'perf::stream-consume',
-    formatteropts,
+    [
+        (
+            b'',
+            b'unbundle-progress',
+            False,
+            b"compute and display progress during stream processing",
+        ),
+    ]
+    + formatteropts,
 )
 def perf_stream_clone_consume(ui, repo, filename, **opts):
     """benchmark the full application of a stream clone
@@ -2250,6 +2258,11 @@
             new_ui, tmp_dir, requirements=repo.requirements
         )
         target = hg.repository(new_ui, tmp_dir)
+        # we don't need to use a config override here because this is a
+        # dedicated UI object for the disposable repository create for the
+        # benchmark.
+        show_progress = bool(opts.get("show_progress"))
+        target.ui.setconfig(b"progress", b"disable", not show_progress)
         gen = exchange.readbundle(target.ui, bundle, bundle.name)
         # stream v1
         if util.safehasattr(gen, 'apply'):