Update google benchmark again
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@349127 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -53,7 +53,7 @@ bool ConsoleReporter::ReportContext(const Context& context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ConsoleReporter::PrintHeader(const Run& run) {
|
void ConsoleReporter::PrintHeader(const Run& run) {
|
||||||
std::string str = FormatString("%-*s %13s %13s %10s", static_cast<int>(name_field_width_),
|
std::string str = FormatString("%-*s %13s %15s %12s", static_cast<int>(name_field_width_),
|
||||||
"Benchmark", "Time", "CPU", "Iterations");
|
"Benchmark", "Time", "CPU", "Iterations");
|
||||||
if(!run.counters.empty()) {
|
if(!run.counters.empty()) {
|
||||||
if(output_options_ & OO_Tabular) {
|
if(output_options_ & OO_Tabular) {
|
||||||
@@ -98,6 +98,21 @@ static void IgnoreColorPrint(std::ostream& out, LogColor, const char* fmt,
|
|||||||
va_end(args);
|
va_end(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static std::string FormatTime(double time) {
|
||||||
|
// Align decimal places...
|
||||||
|
if (time < 1.0) {
|
||||||
|
return FormatString("%10.3f", time);
|
||||||
|
}
|
||||||
|
if (time < 10.0) {
|
||||||
|
return FormatString("%10.2f", time);
|
||||||
|
}
|
||||||
|
if (time < 100.0) {
|
||||||
|
return FormatString("%10.1f", time);
|
||||||
|
}
|
||||||
|
return FormatString("%10.0f", time);
|
||||||
|
}
|
||||||
|
|
||||||
void ConsoleReporter::PrintRunData(const Run& result) {
|
void ConsoleReporter::PrintRunData(const Run& result) {
|
||||||
typedef void(PrinterFn)(std::ostream&, LogColor, const char*, ...);
|
typedef void(PrinterFn)(std::ostream&, LogColor, const char*, ...);
|
||||||
auto& Out = GetOutputStream();
|
auto& Out = GetOutputStream();
|
||||||
@@ -117,18 +132,21 @@ void ConsoleReporter::PrintRunData(const Run& result) {
|
|||||||
|
|
||||||
const double real_time = result.GetAdjustedRealTime();
|
const double real_time = result.GetAdjustedRealTime();
|
||||||
const double cpu_time = result.GetAdjustedCPUTime();
|
const double cpu_time = result.GetAdjustedCPUTime();
|
||||||
|
const std::string real_time_str = FormatTime(real_time);
|
||||||
|
const std::string cpu_time_str = FormatTime(cpu_time);
|
||||||
|
|
||||||
|
|
||||||
if (result.report_big_o) {
|
if (result.report_big_o) {
|
||||||
std::string big_o = GetBigOString(result.complexity);
|
std::string big_o = GetBigOString(result.complexity);
|
||||||
printer(Out, COLOR_YELLOW, "%10.2f %s %10.2f %s ", real_time, big_o.c_str(),
|
printer(Out, COLOR_YELLOW, "%10.2f %-4s %10.2f %-4s ", real_time, big_o.c_str(),
|
||||||
cpu_time, big_o.c_str());
|
cpu_time, big_o.c_str());
|
||||||
} else if (result.report_rms) {
|
} else if (result.report_rms) {
|
||||||
printer(Out, COLOR_YELLOW, "%10.0f %% %10.0f %% ", real_time * 100,
|
printer(Out, COLOR_YELLOW, "%10.0f %-4s %10.0f %-4s ", real_time * 100, "%",
|
||||||
cpu_time * 100);
|
cpu_time * 100, "%");
|
||||||
} else {
|
} else {
|
||||||
const char* timeLabel = GetTimeUnitString(result.time_unit);
|
const char* timeLabel = GetTimeUnitString(result.time_unit);
|
||||||
printer(Out, COLOR_YELLOW, "%10.0f %s %10.0f %s ", real_time, timeLabel,
|
printer(Out, COLOR_YELLOW, "%s %-4s %s %-4s ", real_time_str.c_str(), timeLabel,
|
||||||
cpu_time, timeLabel);
|
cpu_time_str.c_str(), timeLabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!result.report_big_o && !result.report_rms) {
|
if (!result.report_big_o && !result.report_rms) {
|
||||||
|
|||||||
@@ -39,17 +39,18 @@ SubMap& GetSubstitutions() {
|
|||||||
// Don't use 'dec_re' from header because it may not yet be initialized.
|
// Don't use 'dec_re' from header because it may not yet be initialized.
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static std::string safe_dec_re = "[0-9]*[.]?[0-9]+([eE][-+][0-9]+)?";
|
static std::string safe_dec_re = "[0-9]*[.]?[0-9]+([eE][-+][0-9]+)?";
|
||||||
|
static std::string time_re = "([0-9]+[.])?[0-9]+";
|
||||||
static SubMap map = {
|
static SubMap map = {
|
||||||
{"%float", "[0-9]*[.]?[0-9]+([eE][-+][0-9]+)?"},
|
{"%float", "[0-9]*[.]?[0-9]+([eE][-+][0-9]+)?"},
|
||||||
// human-readable float
|
// human-readable float
|
||||||
{"%hrfloat", "[0-9]*[.]?[0-9]+([eE][-+][0-9]+)?[kMGTPEZYmunpfazy]?"},
|
{"%hrfloat", "[0-9]*[.]?[0-9]+([eE][-+][0-9]+)?[kMGTPEZYmunpfazy]?"},
|
||||||
{"%int", "[ ]*[0-9]+"},
|
{"%int", "[ ]*[0-9]+"},
|
||||||
{" %s ", "[ ]+"},
|
{" %s ", "[ ]+"},
|
||||||
{"%time", "[ ]*[0-9]+ ns"},
|
{"%time", "[ ]*" + time_re + "[ ]+ns"},
|
||||||
{"%console_report", "[ ]*[0-9]+ ns [ ]*[0-9]+ ns [ ]*[0-9]+"},
|
{"%console_report", "[ ]*" + time_re + "[ ]+ns [ ]*" + time_re + "[ ]+ns [ ]*[0-9]+"},
|
||||||
{"%console_time_only_report", "[ ]*[0-9]+ ns [ ]*[0-9]+ ns"},
|
{"%console_time_only_report", "[ ]*" + time_re + "[ ]+ns [ ]*" + time_re + "[ ]+ns"},
|
||||||
{"%console_us_report", "[ ]*[0-9]+ us [ ]*[0-9]+ us [ ]*[0-9]+"},
|
{"%console_us_report", "[ ]*" + time_re + "[ ]+us [ ]*" + time_re + "[ ]+us [ ]*[0-9]+"},
|
||||||
{"%console_us_time_only_report", "[ ]*[0-9]+ us [ ]*[0-9]+ us"},
|
{"%console_us_time_only_report", "[ ]*" + time_re + "[ ]+us [ ]*" + time_re + "[ ]+us"},
|
||||||
{"%csv_header",
|
{"%csv_header",
|
||||||
"name,iterations,real_time,cpu_time,time_unit,bytes_per_second,"
|
"name,iterations,real_time,cpu_time,time_unit,bytes_per_second,"
|
||||||
"items_per_second,label,error_occurred,error_message"},
|
"items_per_second,label,error_occurred,error_message"},
|
||||||
|
|||||||
@@ -534,7 +534,7 @@ ADD_CASES(TC_ConsoleOut, {{"^BM_UserStats/iterations:5/repeats:3/manual_time [ "
|
|||||||
{"^BM_UserStats/iterations:5/repeats:3/"
|
{"^BM_UserStats/iterations:5/repeats:3/"
|
||||||
"manual_time_median [ ]* 150 ns %time [ ]*3$"},
|
"manual_time_median [ ]* 150 ns %time [ ]*3$"},
|
||||||
{"^BM_UserStats/iterations:5/repeats:3/"
|
{"^BM_UserStats/iterations:5/repeats:3/"
|
||||||
"manual_time_stddev [ ]* 0 ns %time [ ]*3$"},
|
"manual_time_stddev [ ]* 0.000 ns %time [ ]*3$"},
|
||||||
{"^BM_UserStats/iterations:5/repeats:3/manual_time_ "
|
{"^BM_UserStats/iterations:5/repeats:3/manual_time_ "
|
||||||
"[ ]* 150 ns %time [ ]*3$"}});
|
"[ ]* 150 ns %time [ ]*3$"}});
|
||||||
ADD_CASES(
|
ADD_CASES(
|
||||||
|
|||||||
Reference in New Issue
Block a user