Path: blob/main_old/src/tests/perf_tests/third_party/perf/angle-mods.patch
1695 views
diff --git a/src/tests/perf_tests/third_party/perf/angle-mods.patch b/src/tests/perf_tests/third_party/perf/angle-mods.patch1index a758818c0..e69de29bb 1006442--- a/src/tests/perf_tests/third_party/perf/angle-mods.patch3+++ b/src/tests/perf_tests/third_party/perf/angle-mods.patch4@@ -1,176 +0,0 @@5-diff --git a/src/tests/perf_tests/third_party/perf/angle-mods.patch b/src/tests/perf_tests/third_party/perf/angle-mods.patch6-index d0b640289..e69de29bb 1006447---- a/src/tests/perf_tests/third_party/perf/angle-mods.patch8-+++ b/src/tests/perf_tests/third_party/perf/angle-mods.patch9-@@ -1,61 +0,0 @@10--diff --git a/tests/perf_tests/third_party/perf/perf_test.cc b/tests/perf_tests/third_party/perf/perf_test.cc11--index 0d5abc0..7364330 10064412----- a/tests/perf_tests/third_party/perf/perf_test.cc13--+++ b/tests/perf_tests/third_party/perf/perf_test.cc14--@@ -2,16 +2,51 @@15-- // Use of this source code is governed by a BSD-style license that can be16-- // found in the LICENSE file.17--18---#include "testing/perf/perf_test.h"19--+#include "perf_test.h"20--21-- #include <stdio.h>22---23---#include "base/logging.h"24---#include "base/strings/string_number_conversions.h"25---#include "base/strings/stringprintf.h"26--+#include <stdarg.h>27--+#include <vector>28--29-- namespace {30--31--+namespace base {32--+33--+std::string FormatString(const char *fmt, va_list vararg) {34--+ static std::vector<char> buffer(512);35--+36--+ // Attempt to just print to the current buffer37--+ int len = vsnprintf(&buffer[0], buffer.size(), fmt, vararg);38--+ if (len < 0 || static_cast<size_t>(len) >= buffer.size()) {39--+ // Buffer was not large enough, calculate the required size and resize the buffer40--+ len = vsnprintf(NULL, 0, fmt, vararg);41--+ buffer.resize(len + 1);42--+43--+ // Print again44--+ vsnprintf(&buffer[0], buffer.size(), fmt, vararg);45--+ }46--+47--+ return std::string(buffer.data(), len);48--+}49--+50--+std::string StringPrintf(const char *fmt, ...) {51--+ va_list vararg;52--+ va_start(vararg, fmt);53--+ std::string result = FormatString(fmt, vararg);54--+ va_end(vararg);55--+ return result;56--+}57--+58--+std::string UintToString(unsigned int value) {59--+ return StringPrintf("%u", value);60--+}61--+62--+std::string DoubleToString(double value) {63--+ return StringPrintf("%.10lf", value);64--+}65--+66--+}67--+68-- std::string ResultsToString(const std::string& measurement,69-- const std::string& modifier,70-- const std::string& trace,71-diff --git a/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc b/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc72-index 272e6ca17..3a6a41f01 10064473---- a/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc74-+++ b/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc75-@@ -2,9 +2,9 @@76- // Use of this source code is governed by a BSD-style license that can be77- // found in the LICENSE file.78-79--#include "testing/perf/perf_result_reporter.h"80--#include "base/logging.h"81--#include "testing/perf/perf_test.h"82-+#include "perf_result_reporter.h"83-+#include "anglebase/logging.h"84-+#include "perf_test.h"85-86- namespace perf_test {87-88-diff --git a/src/tests/perf_tests/third_party/perf/perf_test.cc b/src/tests/perf_tests/third_party/perf/perf_test.cc89-index 0b0b666db..bc3a6bb8d 10064490---- a/src/tests/perf_tests/third_party/perf/perf_test.cc91-+++ b/src/tests/perf_tests/third_party/perf/perf_test.cc92-@@ -2,16 +2,47 @@93- // Use of this source code is governed by a BSD-style license that can be94- // found in the LICENSE file.95-96--#include "testing/perf/perf_test.h"97-+#include "perf_test.h"98-99-+#include <stdarg.h>100- #include <stdio.h>101--102--#include "base/logging.h"103--#include "base/strings/string_number_conversions.h"104--#include "base/strings/stringprintf.h"105-+#include <vector>106-107- namespace {108-109-+std::string FormatString(const char *fmt, va_list vararg) {110-+ static std::vector<char> buffer(512);111-+112-+ // Attempt to just print to the current buffer113-+ int len = vsnprintf(&buffer[0], buffer.size(), fmt, vararg);114-+ if (len < 0 || static_cast<size_t>(len) >= buffer.size()) {115-+ // Buffer was not large enough, calculate the required size and resize the buffer116-+ len = vsnprintf(NULL, 0, fmt, vararg);117-+ buffer.resize(len + 1);118-+119-+ // Print again120-+ vsnprintf(&buffer[0], buffer.size(), fmt, vararg);121-+ }122-+123-+ return std::string(buffer.data(), len);124-+}125-+126-+std::string StringPrintf(const char *fmt, ...) {127-+ va_list vararg;128-+ va_start(vararg, fmt);129-+ std::string result = FormatString(fmt, vararg);130-+ va_end(vararg);131-+ return result;132-+}133-+134-+std::string NumberToString(size_t value) {135-+ return StringPrintf("%u", value);136-+}137-+138-+std::string NumberToString(double value) {139-+ return StringPrintf("%.10lf", value);140-+}141-+142- std::string ResultsToString(const std::string& measurement,143- const std::string& modifier,144- const std::string& trace,145-@@ -23,7 +54,7 @@ std::string ResultsToString(const std::string& measurement,146- // <*>RESULT <graph_name>: <trace_name>= <value> <units>147- // <*>RESULT <graph_name>: <trace_name>= {<mean>, <std deviation>} <units>148- // <*>RESULT <graph_name>: <trace_name>= [<value>,value,value,...,] <units>149-- return base::StringPrintf("%sRESULT %s%s: %s= %s%s%s %s\n",150-+ return StringPrintf("%sRESULT %s%s: %s= %s%s%s %s\n",151- important ? "*" : "", measurement.c_str(), modifier.c_str(),152- trace.c_str(), prefix.c_str(), values.c_str(), suffix.c_str(),153- units.c_str());154-@@ -53,7 +84,7 @@ void PrintResult(const std::string& measurement,155- size_t value,156- const std::string& units,157- bool important) {158-- PrintResultsImpl(measurement, modifier, trace, base::NumberToString(value),159-+ PrintResultsImpl(measurement, modifier, trace, NumberToString(value),160- std::string(), std::string(), units, important);161- }162-163-@@ -63,7 +94,7 @@ void PrintResult(const std::string& measurement,164- double value,165- const std::string& units,166- bool important) {167-- PrintResultsImpl(measurement, modifier, trace, base::NumberToString(value),168-+ PrintResultsImpl(measurement, modifier, trace, NumberToString(value),169- std::string(), std::string(), units, important);170- }171-172-@@ -75,7 +106,7 @@ void AppendResult(std::string& output,173- const std::string& units,174- bool important) {175- output +=176-- ResultsToString(measurement, modifier, trace, base::NumberToString(value),177-+ ResultsToString(measurement, modifier, trace, NumberToString(value),178- std::string(), std::string(), units, important);179- }180-181diff --git a/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc b/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc182index 272e6ca17..fcbfa78b3 100644183--- a/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc184+++ b/src/tests/perf_tests/third_party/perf/perf_result_reporter.cc185@@ -2,72 +2,77 @@186// Use of this source code is governed by a BSD-style license that can be187// found in the LICENSE file.188189-#include "testing/perf/perf_result_reporter.h"190-#include "base/logging.h"191-#include "testing/perf/perf_test.h"192+#include "perf_result_reporter.h"193+#include "anglebase/logging.h"194+#include "perf_test.h"195196-namespace perf_test {197+namespace perf_test198+{199200-PerfResultReporter::PerfResultReporter(const std::string& metric_basename,201- const std::string& story_name)202- : metric_basename_(metric_basename), story_name_(story_name) {}203+PerfResultReporter::PerfResultReporter(const std::string &metric_basename,204+ const std::string &story_name)205+ : metric_basename_(metric_basename), story_name_(story_name)206+{}207208PerfResultReporter::~PerfResultReporter() = default;209210-void PerfResultReporter::RegisterFyiMetric(const std::string& metric_suffix,211- const std::string& units) {212- RegisterMetric(metric_suffix, units, false);213+void PerfResultReporter::RegisterFyiMetric(const std::string &metric_suffix,214+ const std::string &units)215+{216+ RegisterMetric(metric_suffix, units, false);217}218219-void PerfResultReporter::RegisterImportantMetric(220- const std::string& metric_suffix,221- const std::string& units) {222- RegisterMetric(metric_suffix, units, true);223+void PerfResultReporter::RegisterImportantMetric(const std::string &metric_suffix,224+ const std::string &units)225+{226+ RegisterMetric(metric_suffix, units, true);227}228229-void PerfResultReporter::AddResult(const std::string& metric_suffix,230- size_t value) {231- auto iter = metric_map_.find(metric_suffix);232- CHECK(iter != metric_map_.end());233+void PerfResultReporter::AddResult(const std::string &metric_suffix, size_t value)234+{235+ auto iter = metric_map_.find(metric_suffix);236+ CHECK(iter != metric_map_.end());237238- PrintResult(metric_basename_, metric_suffix, story_name_, value,239- iter->second.units, iter->second.important);240+ PrintResult(metric_basename_, metric_suffix, story_name_, value, iter->second.units,241+ iter->second.important);242}243244-void PerfResultReporter::AddResult(const std::string& metric_suffix,245- double value) {246- auto iter = metric_map_.find(metric_suffix);247- CHECK(iter != metric_map_.end());248+void PerfResultReporter::AddResult(const std::string &metric_suffix, double value)249+{250+ auto iter = metric_map_.find(metric_suffix);251+ CHECK(iter != metric_map_.end());252253- PrintResult(metric_basename_, metric_suffix, story_name_, value,254- iter->second.units, iter->second.important);255+ PrintResult(metric_basename_, metric_suffix, story_name_, value, iter->second.units,256+ iter->second.important);257}258259-void PerfResultReporter::AddResult(const std::string& metric_suffix,260- const std::string& value) {261- auto iter = metric_map_.find(metric_suffix);262- CHECK(iter != metric_map_.end());263+void PerfResultReporter::AddResult(const std::string &metric_suffix, const std::string &value)264+{265+ auto iter = metric_map_.find(metric_suffix);266+ CHECK(iter != metric_map_.end());267268- PrintResult(metric_basename_, metric_suffix, story_name_, value,269- iter->second.units, iter->second.important);270+ PrintResult(metric_basename_, metric_suffix, story_name_, value, iter->second.units,271+ iter->second.important);272}273274-bool PerfResultReporter::GetMetricInfo(const std::string& metric_suffix,275- MetricInfo* out) {276- auto iter = metric_map_.find(metric_suffix);277- if (iter == metric_map_.end()) {278- return false;279- }280+bool PerfResultReporter::GetMetricInfo(const std::string &metric_suffix, MetricInfo *out)281+{282+ auto iter = metric_map_.find(metric_suffix);283+ if (iter == metric_map_.end())284+ {285+ return false;286+ }287288- *out = iter->second;289- return true;290+ *out = iter->second;291+ return true;292}293294-void PerfResultReporter::RegisterMetric(const std::string& metric_suffix,295- const std::string& units,296- bool important) {297- CHECK(metric_map_.count(metric_suffix) == 0);298- metric_map_.insert({metric_suffix, {units, important}});299+void PerfResultReporter::RegisterMetric(const std::string &metric_suffix,300+ const std::string &units,301+ bool important)302+{303+ CHECK(metric_map_.count(metric_suffix) == 0);304+ metric_map_.insert({metric_suffix, {units, important}});305}306307} // namespace perf_test308diff --git a/src/tests/perf_tests/third_party/perf/perf_result_reporter.h b/src/tests/perf_tests/third_party/perf/perf_result_reporter.h309index 3188d90c9..2620eab3d 100644310--- a/src/tests/perf_tests/third_party/perf/perf_result_reporter.h311+++ b/src/tests/perf_tests/third_party/perf/perf_result_reporter.h312@@ -8,11 +8,13 @@313#include <string>314#include <unordered_map>315316-namespace perf_test {317+namespace perf_test318+{319320-struct MetricInfo {321- std::string units;322- bool important;323+struct MetricInfo324+{325+ std::string units;326+ bool important;327};328329// A helper class for using the perf test printing functions safely, as330@@ -32,32 +34,28 @@ struct MetricInfo {331// a single "100_chars" story. If an additional story run is added, e.g.332// "200_chars", then the metrics will be averaged over both runs with the333// ability to drill down into results for specific stories.334-class PerfResultReporter {335- public:336- PerfResultReporter(const std::string& metric_basename,337- const std::string& story_name);338- ~PerfResultReporter();339-340- void RegisterFyiMetric(const std::string& metric_suffix,341- const std::string& units);342- void RegisterImportantMetric(const std::string& metric_suffix,343- const std::string& units);344- void AddResult(const std::string& metric_suffix, size_t value);345- void AddResult(const std::string& metric_suffix, double value);346- void AddResult(const std::string& metric_suffix, const std::string& value);347-348- // Returns true and fills the pointer if the metric is registered, otherwise349- // returns false.350- bool GetMetricInfo(const std::string& metric_suffix, MetricInfo* out);351-352- private:353- void RegisterMetric(const std::string& metric_suffix,354- const std::string& units,355- bool important);356-357- std::string metric_basename_;358- std::string story_name_;359- std::unordered_map<std::string, MetricInfo> metric_map_;360+class PerfResultReporter361+{362+ public:363+ PerfResultReporter(const std::string &metric_basename, const std::string &story_name);364+ ~PerfResultReporter();365+366+ void RegisterFyiMetric(const std::string &metric_suffix, const std::string &units);367+ void RegisterImportantMetric(const std::string &metric_suffix, const std::string &units);368+ void AddResult(const std::string &metric_suffix, size_t value);369+ void AddResult(const std::string &metric_suffix, double value);370+ void AddResult(const std::string &metric_suffix, const std::string &value);371+372+ // Returns true and fills the pointer if the metric is registered, otherwise373+ // returns false.374+ bool GetMetricInfo(const std::string &metric_suffix, MetricInfo *out);375+376+ private:377+ void RegisterMetric(const std::string &metric_suffix, const std::string &units, bool important);378+379+ std::string metric_basename_;380+ std::string story_name_;381+ std::unordered_map<std::string, MetricInfo> metric_map_;382};383384} // namespace perf_test385diff --git a/src/tests/perf_tests/third_party/perf/perf_test.cc b/src/tests/perf_tests/third_party/perf/perf_test.cc386index 0b0b666db..1131faf27 100644387--- a/src/tests/perf_tests/third_party/perf/perf_test.cc388+++ b/src/tests/perf_tests/third_party/perf/perf_test.cc389@@ -2,16 +2,49 @@390// Use of this source code is governed by a BSD-style license that can be391// found in the LICENSE file.392393-#include "testing/perf/perf_test.h"394+#include "perf_test.h"395396+#include <stdarg.h>397#include <stdio.h>398-399-#include "base/logging.h"400-#include "base/strings/string_number_conversions.h"401-#include "base/strings/stringprintf.h"402+#include <vector>403404namespace {405406+std::string FormatString(const char *fmt, va_list vararg) {407+ static std::vector<char> buffer(512);408+409+ // Attempt to just print to the current buffer410+ int len = vsnprintf(&buffer[0], buffer.size(), fmt, vararg);411+ if (len < 0 || static_cast<size_t>(len) >= buffer.size()) {412+ // Buffer was not large enough, calculate the required size and resize the buffer413+ len = vsnprintf(NULL, 0, fmt, vararg);414+ buffer.resize(len + 1);415+416+ // Print again417+ vsnprintf(&buffer[0], buffer.size(), fmt, vararg);418+ }419+420+ return std::string(buffer.data(), len);421+}422+423+std::string StringPrintf(const char *fmt, ...) {424+ va_list vararg;425+ va_start(vararg, fmt);426+ std::string result = FormatString(fmt, vararg);427+ va_end(vararg);428+ return result;429+}430+431+std::string NumberToString(size_t value)432+{433+ return StringPrintf("%u", value);434+}435+436+std::string NumberToString(double value)437+{438+ return StringPrintf("%.10lf", value);439+}440+441std::string ResultsToString(const std::string& measurement,442const std::string& modifier,443const std::string& trace,444@@ -23,10 +56,9 @@ std::string ResultsToString(const std::string& measurement,445// <*>RESULT <graph_name>: <trace_name>= <value> <units>446// <*>RESULT <graph_name>: <trace_name>= {<mean>, <std deviation>} <units>447// <*>RESULT <graph_name>: <trace_name>= [<value>,value,value,...,] <units>448- return base::StringPrintf("%sRESULT %s%s: %s= %s%s%s %s\n",449- important ? "*" : "", measurement.c_str(), modifier.c_str(),450- trace.c_str(), prefix.c_str(), values.c_str(), suffix.c_str(),451- units.c_str());452+ return StringPrintf("%sRESULT %s%s: %s= %s%s%s %s\n", important ? "*" : "", measurement.c_str(),453+ modifier.c_str(), trace.c_str(), prefix.c_str(), values.c_str(),454+ suffix.c_str(), units.c_str());455}456457void PrintResultsImpl(const std::string& measurement,458@@ -53,8 +85,8 @@ void PrintResult(const std::string& measurement,459size_t value,460const std::string& units,461bool important) {462- PrintResultsImpl(measurement, modifier, trace, base::NumberToString(value),463- std::string(), std::string(), units, important);464+ PrintResultsImpl(measurement, modifier, trace, NumberToString(value), std::string(),465+ std::string(), units, important);466}467468void PrintResult(const std::string& measurement,469@@ -63,8 +95,8 @@ void PrintResult(const std::string& measurement,470double value,471const std::string& units,472bool important) {473- PrintResultsImpl(measurement, modifier, trace, base::NumberToString(value),474- std::string(), std::string(), units, important);475+ PrintResultsImpl(measurement, modifier, trace, NumberToString(value), std::string(),476+ std::string(), units, important);477}478479void AppendResult(std::string& output,480@@ -74,9 +106,8 @@ void AppendResult(std::string& output,481size_t value,482const std::string& units,483bool important) {484- output +=485- ResultsToString(measurement, modifier, trace, base::NumberToString(value),486- std::string(), std::string(), units, important);487+ output += ResultsToString(measurement, modifier, trace, NumberToString(value), std::string(),488+ std::string(), units, important);489}490491void PrintResult(const std::string& measurement,492diff --git a/src/tests/perf_tests/third_party/perf/perf_test.h b/src/tests/perf_tests/third_party/perf/perf_test.h493index 36e2916c5..d269a34cf 100644494--- a/src/tests/perf_tests/third_party/perf/perf_test.h495+++ b/src/tests/perf_tests/third_party/perf/perf_test.h496@@ -7,7 +7,8 @@497498#include <string>499500-namespace perf_test {501+namespace perf_test502+{503504// Prints numerical information to stdout in a controlled format, for505// post-processing. |measurement| is a description of the quantity being506@@ -22,94 +23,90 @@ namespace perf_test {507// produced for various builds, using the combined |measurement| + |modifier|508// string to specify a particular graph and the |trace| to identify a trace509// (i.e., data series) on that graph.510-void PrintResult(const std::string& measurement,511- const std::string& modifier,512- const std::string& trace,513+void PrintResult(const std::string &measurement,514+ const std::string &modifier,515+ const std::string &trace,516size_t value,517- const std::string& units,518+ const std::string &units,519bool important);520-void PrintResult(const std::string& measurement,521- const std::string& modifier,522- const std::string& trace,523+void PrintResult(const std::string &measurement,524+ const std::string &modifier,525+ const std::string &trace,526double value,527- const std::string& units,528+ const std::string &units,529bool important);530531-void AppendResult(std::string& output,532- const std::string& measurement,533- const std::string& modifier,534- const std::string& trace,535+void AppendResult(std::string &output,536+ const std::string &measurement,537+ const std::string &modifier,538+ const std::string &trace,539size_t value,540- const std::string& units,541+ const std::string &units,542bool important);543544// Like the above version of PrintResult(), but takes a std::string value545// instead of a size_t.546-void PrintResult(const std::string& measurement,547- const std::string& modifier,548- const std::string& trace,549- const std::string& value,550- const std::string& units,551+void PrintResult(const std::string &measurement,552+ const std::string &modifier,553+ const std::string &trace,554+ const std::string &value,555+ const std::string &units,556bool important);557558-void AppendResult(std::string& output,559- const std::string& measurement,560- const std::string& modifier,561- const std::string& trace,562- const std::string& value,563- const std::string& units,564+void AppendResult(std::string &output,565+ const std::string &measurement,566+ const std::string &modifier,567+ const std::string &trace,568+ const std::string &value,569+ const std::string &units,570bool important);571572// Like PrintResult(), but prints a (mean, standard deviation) result pair.573// The |<values>| should be two comma-separated numbers, the mean and574// standard deviation (or other error metric) of the measurement.575-void PrintResultMeanAndError(const std::string& measurement,576- const std::string& modifier,577- const std::string& trace,578- const std::string& mean_and_error,579- const std::string& units,580+void PrintResultMeanAndError(const std::string &measurement,581+ const std::string &modifier,582+ const std::string &trace,583+ const std::string &mean_and_error,584+ const std::string &units,585bool important);586587-void AppendResultMeanAndError(std::string& output,588- const std::string& measurement,589- const std::string& modifier,590- const std::string& trace,591- const std::string& mean_and_error,592- const std::string& units,593+void AppendResultMeanAndError(std::string &output,594+ const std::string &measurement,595+ const std::string &modifier,596+ const std::string &trace,597+ const std::string &mean_and_error,598+ const std::string &units,599bool important);600601// Like PrintResult(), but prints an entire list of results. The |values|602// will generally be a list of comma-separated numbers. A typical603// post-processing step might produce plots of their mean and standard604// deviation.605-void PrintResultList(const std::string& measurement,606- const std::string& modifier,607- const std::string& trace,608- const std::string& values,609- const std::string& units,610+void PrintResultList(const std::string &measurement,611+ const std::string &modifier,612+ const std::string &trace,613+ const std::string &values,614+ const std::string &units,615bool important);616617-void AppendResultList(std::string& output,618- const std::string& measurement,619- const std::string& modifier,620- const std::string& trace,621- const std::string& values,622- const std::string& units,623+void AppendResultList(std::string &output,624+ const std::string &measurement,625+ const std::string &modifier,626+ const std::string &trace,627+ const std::string &values,628+ const std::string &units,629bool important);630631// Prints memory commit charge stats for use by perf graphs.632-void PrintSystemCommitCharge(const std::string& test_name,633- size_t charge,634- bool important);635+void PrintSystemCommitCharge(const std::string &test_name, size_t charge, bool important);636637-void PrintSystemCommitCharge(FILE* target,638- const std::string& test_name,639+void PrintSystemCommitCharge(FILE *target,640+ const std::string &test_name,641size_t charge,642bool important);643644-std::string SystemCommitChargeToString(const std::string& test_name,645- size_t charge,646- bool important);647+std::string SystemCommitChargeToString(const std::string &test_name, size_t charge, bool important);648649} // namespace perf_test650651652653