Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

build a single binary to run all microbenches #9421

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

likewhatevs
Copy link
Contributor

@likewhatevs likewhatevs commented Jan 23, 2022

Summary:

build a single binary to run all microbenches

ASAN detects an issue with the microbenchmarks, but I suspect the root cause is google/benchmark#1322.

Differential Revision: D33709046

Summary:
This diff adds a cpp_binary target to internal_repo_rocksdb (via buckifier) and the equivalent to make.

The following command will run the microbenchmarks:
```
buck2 run //internal_repo_rocksdb/repo:rocksdb_microbench_bin
```
ASAN detects an issue with the microbenchmarks, but I suspect the root cause is google/benchmark#1322.

Differential Revision: D33709046

fbshipit-source-id: 5a94b478e1a294eea7f3f95c45a89636b40cc789
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D33709046

Comment on lines +11 to +12
#include "microbench/db_basic_bench.cc"
#include "microbench/ribbon_bench.cc"
Copy link
Contributor

@jay-zhuang jay-zhuang Jan 25, 2022

Choose a reason for hiding this comment

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

I think it could be a problem as we adding more benchmark files, like name conflict, especially because each benchmark code includes its own header files.
Questions:

  • do we have to have single benchmark binary?
  • can we replace it with a script which calls other binaries?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

do we have to have single benchmark binary?

I don't think so.

can we replace it with a script which calls other binaries?

I don't think so.

I'm fairly confident I can get this to work well while having each benchmark file be a separate binary (provided each benchmark has a binary_cpp target), so I'll try this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants