Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Track two more details about runs - the aggregate name, and run name. #675

Merged
merged 4 commits into from
Sep 13, 2018

Conversation

LebedevRI
Copy link
Collaborator

This is related to @baameow's work in #616 but is not based on it.

Two new fields are tracked, and dumped into JSON:

  • If the run is an aggregate, the aggregate's name is stored.
    It can be RMS, BigO, mean, median, stddev, or any custom stat name.
  • The aggregate-name-less run name is additionally stored.
    I.e. not some name of the benchmark function, but the actual
    name, but without the 'aggregate name' suffix.

This way one can group/filter all the runs,
and filter by the particular aggregate type.

I might need this for further tooling improvement.
Or maybe not.
But this is certainly worthwhile for custom tooling.

This is related to BaaMeow's work in
google#616
but is not based on it.

Two new fields are tracked, and dumped into JSON:
* If the run is an aggregate, the aggregate's name is stored.
  It can be RMS, BigO, mean, median, stddev, or any custom stat name.
* The aggregate-name-less run name is additionally stored.
  I.e. not some name of the benchmark function, but the actual
  name, but without the 'aggregate name' suffix.

This way one can group/filter all the runs,
and filter by the particular aggregate type.

I *might* need this for further tooling improvement.
Or maybe not.
But this is certainly worthwhile for custom tooling.
@AppVeyorBot
Copy link

Build benchmark 1433 failed (commit a6af2ed1f6 by @LebedevRI)

@LebedevRI
Copy link
Collaborator Author

And this is why two build systems is a horrible idea.

@coveralls
Copy link

coveralls commented Sep 13, 2018

Coverage Status

Coverage increased (+0.9%) to 89.274% when pulling ca09fac on LebedevRI:track-more-names into c614dfc on google:master.

src/complexity.cc Outdated Show resolved Hide resolved
@AppVeyorBot
Copy link

Build benchmark 1434 failed (commit 583c4ef1b5 by @LebedevRI)

std::string benchmark_name =
reports[0].benchmark_name.substr(0, reports[0].benchmark_name.find('/'));

std::string benchmark_name = reports[0].benchmark_name().substr(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should now be run_name right? at least, you assign it to run_name below.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, right, sorry.
I think this run_name will be kinda broken for these range-based complexity measurements..

@LebedevRI
Copy link
Collaborator Author

Thank you for the review!

@LebedevRI LebedevRI merged commit 5858847 into google:master Sep 13, 2018
@LebedevRI LebedevRI deleted the track-more-names branch September 13, 2018 12:08
JBakamovic pushed a commit to JBakamovic/benchmark that referenced this pull request Dec 6, 2018
…google#675)

This is related to @baameow's work in google#616 but is not based on it.

Two new fields are tracked, and dumped into JSON:
* If the run is an aggregate, the aggregate's name is stored.
  It can be RMS, BigO, mean, median, stddev, or any custom stat name.
* The aggregate-name-less run name is additionally stored.
  I.e. not some name of the benchmark function, but the actual
  name, but without the 'aggregate name' suffix.

This way one can group/filter all the runs,
and filter by the particular aggregate type.

I *might* need this for further tooling improvement.
Or maybe not.
But this is certainly worthwhile for custom tooling.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants