From 1c3c5051cbd20ad64529f3348f1bf4220447458e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 24 Sep 2026 11:13:04 +0200 Subject: [PATCH] scan: add build-time data as well We already have it, might as well show it --- describe-tests.conf | 6 ++++++ scan.pl | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/describe-tests.conf b/describe-tests.conf index 059efd6..a58bb5f 100644 --- a/describe-tests.conf +++ b/describe-tests.conf @@ -229,3 +229,9 @@ This test has a list of 140+ different octal, decimal and hexadecimal numbers in strings. They include both valid and invalid numbers. The test parses each such number 500,000 times each. The result is the average time in nanoseconds the parser functions took across all invocations. + +[build] + +This measures the time used (in integer seconds) for the configure + make +sequence when building curl for the performance tests. Disabled shared build, +unity with optimization. diff --git a/scan.pl b/scan.pl index fcc96a9..ce93745 100755 --- a/scan.pl +++ b/scan.pl @@ -819,6 +819,8 @@ sub single { my @h1rate; my $git = ""; my $scan = ""; + my $buildstart; + my $builddone; # always just keep the latest of these undef @curlv; @@ -910,6 +912,12 @@ sub single { elsif(/^confopts: (.*)/) { push @confopts, $1; } + elsif(/^(.*) configure non-debug/) { + $buildstart = $1; + } + elsif(/^(.*) make -C tests/) { + $builddone = $1; + } elsif(/^structs: (.*)\t(\d+)\t\d*/) { my ($struct, $size) = ($1,$2); if($struct eq "Curl_easy") { @@ -1010,6 +1018,12 @@ sub single { $h1limitcpu{$scan} = $cpu; } } + + if($buildstart && $builddone) { + # get the build time + $buildtime{$scan} = `date +%s -d "$builddone"` - + `date +%s -d "$buildstart"`; + } } for my $l (sort @logs) { @@ -1266,6 +1280,10 @@ sub single { "lower", "numparser", "nanoseconds", %numparser) if %numparser; +push @output, show("autotools build time", + "lower", + "build", + "seconds", %buildtime) if %buildtime; printf "
%u data-points\n", scalar(%alltests);