# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@octobus.net>
# Date 1548459150 18000
#      Fri Jan 25 18:32:30 2019 -0500
# Node ID f2f56b6ef8558ab3e2788e963fd2dead95990616
# Parent  fc1af90dc2b796df748340f585000208a36038e9
benchmark: add a test a new entry for `perfheads`

For large repository this computing heads is in the 10ms order of magnitude,
this is worth tracking.

diff --git a/benchmarks/others.py b/benchmarks/others.py
--- a/benchmarks/others.py
+++ b/benchmarks/others.py
@@ -430,3 +430,19 @@
         if None not in data:
             return float('nan')
         return data[None]['median']
+
+class PerfHeadsSuite(BaseTestSuite):
+    params = BaseTestSuite.params + [['unfiltered', 'visible']]
+    param_names = BaseTestSuite.param_names + ['filter']
+
+    timeout = 300
+
+    @params_as_kwargs
+    def track_perfheads(self, filter, *args, **kwargs):
+        cmd = ['perfheads']
+        if filter == 'unfiltered':
+            cmd.append('--hidden')
+        data = self.perfextjson(*cmd)
+        if None not in data:
+            return float('nan')
+        return data[None]['median']