Skip to content

Commit

Permalink
text and concise output are now mardown, closes #14
Browse files Browse the repository at this point in the history
  • Loading branch information
iboB committed Mar 6, 2024
1 parent e60294b commit 87b6ac7
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 48 deletions.
30 changes: 18 additions & 12 deletions include/picobench/picobench.hpp
Expand Up @@ -467,8 +467,9 @@ class report

out.put('\n');
out <<
" Name (* = baseline) | Dim | Total ms | ns/op |Baseline| Ops/second\n";
out.put('\n');
" Name (* = baseline) | Dim | Total ms | ns/op |Baseline| Ops/second\n";
out <<
"--------------------------|--------:|----------:|--------:|-------:|----------:\n";

auto problem_space_view = get_problem_space_view(suite);
for (auto& ps : problem_space_view)
Expand All @@ -485,13 +486,15 @@ class report

for (auto& bm : ps.second)
{
out << ' ' << bm.name;
auto pad = 24 - int(strlen(bm.name));
if (bm.is_baseline)
{
out << setw(23) << bm.name << " *";
out << " *";
pad -= 2;
}
else
{
out << setw(25) << bm.name;
for (int i = 0; i < pad; ++i) {
out.put(' ');
}

out << " |"
Expand Down Expand Up @@ -551,8 +554,9 @@ class report

out.put('\n');
out <<
" Name (* = baseline) | ns/op | Baseline | Ops/second\n";
out.put('\n');
" Name (* = baseline) | ns/op | Baseline | Ops/second\n";
out <<
"--------------------------|--------:|---------:|-----------:\n";

const benchmark* baseline = nullptr;
for (auto& bm : suite.benchmarks)
Expand All @@ -575,13 +579,15 @@ class report

for (auto& bm : suite.benchmarks)
{
out << ' ' << bm.name;
auto pad = 24 - int(strlen(bm.name));
if (bm.is_baseline)
{
out << setw(23) << bm.name << " *";
out << " *";
pad -= 2;
}
else
{
out << setw(25) << bm.name;
for (int i = 0; i < pad; ++i) {
out.put(' ');
}

int64_t total_time = 0;
Expand Down
72 changes: 36 additions & 36 deletions test/basic.cpp
Expand Up @@ -486,56 +486,56 @@ TEST_CASE("[picobench] test")

sout.str(string());
report.to_text_concise(sout);
const char* concise =
std::string concise =
"## test a:\n"
"\n"
" Name (* = baseline) | ns/op | Baseline | Ops/second\n"
"\n"
" a_a * | 10 | - | 100000000.0\n"
" a_b | 11 | 1.100 | 90909090.9\n"
" a_c | 20 | 2.000 | 50000000.0\n"
" Name (* = baseline) | ns/op | Baseline | Ops/second\n"
"--------------------------|--------:|---------:|-----------:\n"
" a_a * | 10 | - | 100000000.0\n"
" a_b | 11 | 1.100 | 90909090.9\n"
" a_c | 20 | 2.000 | 50000000.0\n"
"\n"
"## test b:\n"
"\n"
" Name (* = baseline) | ns/op | Baseline | Ops/second\n"
"\n"
" b_a | 75 | 0.750 | 13333333.3\n"
" something else * | 100 | - | 10000000.0\n"
" Name (* = baseline) | ns/op | Baseline | Ops/second\n"
"--------------------------|--------:|---------:|-----------:\n"
" b_a | 75 | 0.750 | 13333333.3\n"
" something else * | 100 | - | 10000000.0\n"
"\n";

CHECK(sout.str() == concise);

const char* txt =
std::string txt =
"## test a:\n"
"\n"
" Name (* = baseline) | Dim | Total ms | ns/op |Baseline| Ops/second\n"
"\n"
" a_a * | 8 | 0.000 | 10 | - |100000000.0\n"
" a_b | 8 | 0.000 | 11 | 1.100 | 90909090.9\n"
" a_c | 8 | 0.000 | 20 | 2.000 | 50000000.0\n"
" a_a * | 64 | 0.001 | 10 | - |100000000.0\n"
" a_b | 64 | 0.001 | 11 | 1.100 | 90909090.9\n"
" a_c | 64 | 0.001 | 20 | 2.000 | 50000000.0\n"
" a_a * | 512 | 0.005 | 10 | - |100000000.0\n"
" a_b | 512 | 0.006 | 11 | 1.100 | 90909090.9\n"
" a_c | 512 | 0.010 | 20 | 2.000 | 50000000.0\n"
" a_a * | 4096 | 0.041 | 10 | - |100000000.0\n"
" a_b | 4096 | 0.045 | 11 | 1.100 | 90909090.9\n"
" a_c | 4096 | 0.082 | 20 | 2.000 | 50000000.0\n"
" a_a * | 8192 | 0.082 | 10 | - |100000000.0\n"
" a_b | 8192 | 0.090 | 11 | 1.100 | 90909090.9\n"
" a_c | 8192 | 0.164 | 20 | 2.000 | 50000000.0\n"
" Name (* = baseline) | Dim | Total ms | ns/op |Baseline| Ops/second\n"
"--------------------------|--------:|----------:|--------:|-------:|----------:\n"
" a_a * | 8 | 0.000 | 10 | - |100000000.0\n"
" a_b | 8 | 0.000 | 11 | 1.100 | 90909090.9\n"
" a_c | 8 | 0.000 | 20 | 2.000 | 50000000.0\n"
" a_a * | 64 | 0.001 | 10 | - |100000000.0\n"
" a_b | 64 | 0.001 | 11 | 1.100 | 90909090.9\n"
" a_c | 64 | 0.001 | 20 | 2.000 | 50000000.0\n"
" a_a * | 512 | 0.005 | 10 | - |100000000.0\n"
" a_b | 512 | 0.006 | 11 | 1.100 | 90909090.9\n"
" a_c | 512 | 0.010 | 20 | 2.000 | 50000000.0\n"
" a_a * | 4096 | 0.041 | 10 | - |100000000.0\n"
" a_b | 4096 | 0.045 | 11 | 1.100 | 90909090.9\n"
" a_c | 4096 | 0.082 | 20 | 2.000 | 50000000.0\n"
" a_a * | 8192 | 0.082 | 10 | - |100000000.0\n"
" a_b | 8192 | 0.090 | 11 | 1.100 | 90909090.9\n"
" a_c | 8192 | 0.164 | 20 | 2.000 | 50000000.0\n"
"\n"
"## test b:\n"
"\n"
" Name (* = baseline) | Dim | Total ms | ns/op |Baseline| Ops/second\n"
"\n"
" something else * | 10 | 0.001 | 100 | - | 10000000.0\n"
" b_a | 20 | 0.002 | 75 | 0.750 | 13333333.3\n"
" something else * | 20 | 0.002 | 100 | - | 10000000.0\n"
" b_a | 30 | 0.002 | 75 | 0.750 | 13333333.3\n"
" something else * | 30 | 0.003 | 100 | - | 10000000.0\n"
" b_a | 50 | 0.004 | 75 | ??? | 13333333.3\n"
" Name (* = baseline) | Dim | Total ms | ns/op |Baseline| Ops/second\n"
"--------------------------|--------:|----------:|--------:|-------:|----------:\n"
" something else * | 10 | 0.001 | 100 | - | 10000000.0\n"
" b_a | 20 | 0.002 | 75 | 0.750 | 13333333.3\n"
" something else * | 20 | 0.002 | 100 | - | 10000000.0\n"
" b_a | 30 | 0.002 | 75 | 0.750 | 13333333.3\n"
" something else * | 30 | 0.003 | 100 | - | 10000000.0\n"
" b_a | 50 | 0.004 | 75 | ??? | 13333333.3\n"
"\n";

sout.str(string());
Expand Down

0 comments on commit 87b6ac7

Please sign in to comment.