diff mbox series

[v2,2/8] simplebench: bench_one(): support count=1

Message ID 20210304101738.20248-3-vsementsov@virtuozzo.com
State New
Headers show
Series simplebench improvements | expand

Commit Message

Vladimir Sementsov-Ogievskiy March 4, 2021, 10:17 a.m. UTC
statistics.stdev raises if sequence length is less than two. Support
that case by hand.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
---
 scripts/simplebench/simplebench.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

John Snow March 5, 2021, 1:23 a.m. UTC | #1
On 3/4/21 5:17 AM, Vladimir Sementsov-Ogievskiy wrote:
> statistics.stdev raises if sequence length is less than two. Support
> that case by hand.
> 
> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
> ---
>   scripts/simplebench/simplebench.py | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/simplebench/simplebench.py b/scripts/simplebench/simplebench.py
> index b153cae274..712e1f845b 100644
> --- a/scripts/simplebench/simplebench.py
> +++ b/scripts/simplebench/simplebench.py
> @@ -92,7 +92,10 @@ def bench_one(test_func, test_env, test_case, count=5, initial_run=True,
>               dim = 'seconds'
>           result['dimension'] = dim
>           result['average'] = statistics.mean(r[dim] for r in succeeded)
> -        result['stdev'] = statistics.stdev(r[dim] for r in succeeded)
> +        if len(succeeded) == 1:
> +            result['stdev'] = 0
> +        else:
> +            result['stdev'] = statistics.stdev(r[dim] for r in succeeded)
>   
>       if len(succeeded) < count:
>           result['n-failed'] = count - len(succeeded)
> 

Omitted from patch context is that we have "if succeeded: ..." so we 
know it's at least 1 here.

Reviewed-by: John Snow <jsnow@redhat.com>
diff mbox series

Patch

diff --git a/scripts/simplebench/simplebench.py b/scripts/simplebench/simplebench.py
index b153cae274..712e1f845b 100644
--- a/scripts/simplebench/simplebench.py
+++ b/scripts/simplebench/simplebench.py
@@ -92,7 +92,10 @@  def bench_one(test_func, test_env, test_case, count=5, initial_run=True,
             dim = 'seconds'
         result['dimension'] = dim
         result['average'] = statistics.mean(r[dim] for r in succeeded)
-        result['stdev'] = statistics.stdev(r[dim] for r in succeeded)
+        if len(succeeded) == 1:
+            result['stdev'] = 0
+        else:
+            result['stdev'] = statistics.stdev(r[dim] for r in succeeded)
 
     if len(succeeded) < count:
         result['n-failed'] = count - len(succeeded)