From: Laurent MAZET Date: Thu, 23 Oct 2025 09:08:36 +0000 (+0200) Subject: add 99% percentile X-Git-Url: https://secure.softndesign.org/git/?a=commitdiff_plain;h=1e102f7730b83e44d34665f9d7ee239f3d2db547;p=benchmarks.git add 99% percentile --- diff --git a/generatecandle.sh b/generatecandle.sh index 666de86..5045322 100755 --- a/generatecandle.sh +++ b/generatecandle.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash base=$(cd $(dirname $0); pwd) diff --git a/generatedoc.sh b/generatedoc.sh index 538752f..bb6e0f7 100755 --- a/generatedoc.sh +++ b/generatedoc.sh @@ -22,20 +22,24 @@ for tab; do echo "

Statistic summary

" + echo "
" echo "" - echo "" + echo "" echo "" awk '{ printf ""; for (i=0; i%s", $(i+1); printf "\n" }' $tab echo "" echo "
Load
(%)
Minimum
(µs)
Average
(µs)
Maximum
(µs)
Standard Dev.
(µs)
25th %
(µs)
Median
(µs)
75th %
(µs)
Load
(%)
Min.
(µs)
Avg.
(µs)
Max.
(µs)
Std. Dev.
(µs)
25th %
(µs)
Median
(µs)
75th %
(µs)
99th %
(µs)
" + echo "
" + echo "
" echo "
" + echo "
" for load in $(cat $tab | sed 's/%.*//'); do echo "

Measures with load of $load%

" - echo "
" - echo "" - echo "" + echo "
" + echo "" + echo "" echo "
" done diff --git a/gettable.awk b/gettable.awk index cb6b5d0..943b5c0 100755 --- a/gettable.awk +++ b/gettable.awk @@ -3,7 +3,7 @@ BEGIN { OFS="," if (!nohead) { - print "Test", "Dedicated core(s)", "Load (%)", "Minimum (µs)", "Average (µs)", "Maximum (µs)", "Standard Dev. (µs)", "25th % (µs)", "Median (µs)", "75th % (µs)" + print "Test", "Dedicated core(s)", "Load (%)", "Minimum (µs)", "Average (µs)", "Maximum (µs)", "Standard Dev. (µs)", "25th % (µs)", "Median (µs)", "75th % (µs)", "99th % (µs)" } } @@ -24,7 +24,8 @@ BEGIN { /25th/ { p25=$4 } /Median/ { med=$3 } /75th/ { p75=$4 } +/99th/ { p99=$4 } /Histogram/ { - print test, dcore, load, min, avg, max, std, p25, med, p75 + print test, dcore, load, min, avg, max, std, p25, med, p75, p99 } diff --git a/stat.c b/stat.c index c0ec491..b692817 100644 --- a/stat.c +++ b/stat.c @@ -76,10 +76,15 @@ void compute_statistics (dts_t *points, int nb, int bins) if (((3 * nb) % 4 == 0) && (nb >= 4)) { p75 = (p75 + points[(3 * nb) / 4 - 1]) / 2; } + double p99 = points[(99 * nb) / 100]; + if (((99 * nb) % 100 == 0) && (nb >= 100)) { + p75 = (p75 + points[(99 * nb) / 100 - 1]) / 2; + } printf ("25th %% = %.2lfus\n", p25 / 1000); printf ("Median = %.2lfus\n", med / 1000); printf ("75th %% = %.2lfus\n", p75 / 1000); + printf ("99th %% = %.2lfus\n", p99 / 1000); /* compute histogram */