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);