From 16411c0af771298dd5d7339ce11ec4c0bcdad6b9 Mon Sep 17 00:00:00 2001 From: goksu <25721443+goeksu@users.noreply.github.com> Date: Wed, 12 Jul 2023 14:51:56 +0300 Subject: [PATCH] cumulative time per N iterations --- src/tools/ftbench/ftbench.c | 4 ++-- src/tools/ftbench/src/tohtml.py | 19 ++++++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/tools/ftbench/ftbench.c b/src/tools/ftbench/ftbench.c index 13cfd9b0d..53215dcd4 100644 --- a/src/tools/ftbench/ftbench.c +++ b/src/tools/ftbench/ftbench.c @@ -299,8 +299,8 @@ } if ( done ) - printf( "%10.3f us/op %10d done\n", - TIMER_GET( &timer ) / (double)done, done ); + printf( "%10.3f ms %10d done\n", + TIMER_GET( &timer ) / 1000, done ); else printf( "no error-free calls\n" ); } diff --git a/src/tools/ftbench/src/tohtml.py b/src/tools/ftbench/src/tohtml.py index a3b766654..7a67597f2 100644 --- a/src/tools/ftbench/src/tohtml.py +++ b/src/tools/ftbench/src/tohtml.py @@ -86,13 +86,13 @@ with open(benchmark_html, 'w') as html_file: # Write results to HTML html_file.write('

Results for {}

\n'.format(fontname)) html_file.write('\n') - html_file.write('\n'.format(os.path.join(baseline_dir,fontname[:-4]),os.path.join(benchmark_dir,fontname[:-4]))) + html_file.write('\n'.format(os.path.join(baseline_dir,fontname[:-4]),os.path.join(benchmark_dir,fontname[:-4]))) for baseline_line, benchmark_line in zip(baseline_results, benchmark_results): if baseline_line.startswith(' '): - baseline_match = re.match(r' (.*\S)\s+(\d+\.\d+)\s', baseline_line) + baseline_match = re.match(r'\s+(.*?)\s+(\d+\.\d+)\s+ms\s+(\d+)\s', baseline_line) - benchmark_match = re.match(r' (.*\S)\s+(\d+\.\d+)\s', benchmark_line) + benchmark_match = re.match(r'\s+(.*?)\s+(\d+\.\d+)\s+ms\s+(\d+)\s', benchmark_line) if baseline_match and benchmark_match: baseline_value = float(baseline_match.group(2)) @@ -100,11 +100,20 @@ with open(benchmark_html, 'w') as html_file: # Calculate the percentage difference percentage_diff = ((baseline_value - benchmark_value) / baseline_value) * 100 + + baseline_n = baseline_match.group(3) + benchmark_n = benchmark_match.group(3) + + if(baseline_n == benchmark_n): + total_n = baseline_n + else: + total_n = baseline_n + " / " + benchmark_n + if baseline_value > benchmark_value: - html_file.write('\n'.format(baseline_match.group(1), baseline_value, benchmark_value, percentage_diff)) + html_file.write('\n'.format(baseline_match.group(1), total_n,baseline_value, benchmark_value, percentage_diff)) else: - html_file.write('\n'.format(baseline_match.group(1), baseline_value, benchmark_value, percentage_diff)) + html_file.write('\n'.format(baseline_match.group(1), total_n,baseline_value, benchmark_value, percentage_diff)) html_file.write('
Test Baseline (µs/op) Benchmark (µs/op) Difference (%)
TestNBaseline (ms) Benchmark (ms)Difference (%)
{}{:.2f}{:.2f}{:.2f}
{}{}{:.2f}{:.2f}{:.2f}
{}{:.2f}{:.2f}{:.2f}
{}{}{:.2f}{:.2f}{:.2f}

\n')