mirror of
https://github.com/google/benchmark.git
synced 2025-01-14 13:50:13 +08:00
398a8ac2e8
* Build libpfm as a dependency to allow collection of perf counters This commit builds libpfm using rules_foreign_cc and lets the default build of the benchmark library support perf counter collection without needing additional work from users. Tested with a custom target: ``` bazel run \ --override_repository=com_github_google_benchmark=/home/raghu/benchmark \ -c opt :test-bench -- "--benchmark_perf_counters=INSTRUCTIONS,CYCLES" Using profile: local <snip> ---------------------------------------------------------------------- Benchmark Time CPU Iterations UserCounters... ---------------------------------------------------------------------- BM_Test 0.279 ns 0.279 ns 1000000000 CYCLES=1.00888 INSTRUCTIONS=2 ``` Signed-off-by: Raghu Raja <raghu@enfabrica.net> * Adding myself to the CONTRIBUTORS file per CLA guidance Enfabrica has already signed a corporate CLA. Signed-off-by: Raghu Raja <raghu@enfabrica.net> Signed-off-by: Raghu Raja <raghu@enfabrica.net>
22 lines
428 B
Plaintext
22 lines
428 B
Plaintext
# Build rule for libpfm, which is required to collect performance counters for
|
|
# BENCHMARK_ENABLE_LIBPFM builds.
|
|
|
|
load("@rules_foreign_cc//foreign_cc:defs.bzl", "make")
|
|
|
|
filegroup(
|
|
name = "pfm_srcs",
|
|
srcs = glob(["**"]),
|
|
)
|
|
|
|
make(
|
|
name = "libpfm",
|
|
lib_source = ":pfm_srcs",
|
|
lib_name = "libpfm",
|
|
copts = [
|
|
"-Wno-format-truncation",
|
|
],
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|