[PATCH] D32272: [XRay] Add Google Benchmark library + initial XRay benchmarks

Eizan Miyamoto via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 29 05:52:57 PDT 2017


eizan updated this revision to Diff 104625.
eizan added a comment.

- Move libs/benchmark-1.0.0 into MicroBenchmarks
- Guard building of all microbenchmarks based on ...ENABLE_XRAY_MICROBENCHMARKS
- Rename ...ENABLE_XRAY_MICROBENCHMARKS -> ...ENABLE_MICROBENCHMARKS

A few notes/questions that I'd like to bring to attention:

- I've interpreted the suggestion to be very careful to not build benchmark-1.1.0 unless the XRay benchmarks that depend on it are built. Unless I guard the add_directory(libs) with a conditional in MicroBenchmarks/CMakeLists.txt, when running the full benchmark suite without ENABLE_MICROBENCHMARKS=1, the benchmark library gets built even if the XRay binaries aren't built. Is there a better way?
- I had to hack in add_dependencies(benchmark, timeit-host), otherwise the benchmkark build would fail due to it being built before timeit. Is there a better way?
- I'm somewhat flippantly presuming that all the targets in MicroBenchmarks will depend on the benchmark-1.1.0 lib. Is this okay?


https://reviews.llvm.org/D32272

Files:
  LICENSE.TXT
  MicroBenchmarks/CMakeLists.txt
  MicroBenchmarks/XRay/CMakeLists.txt
  MicroBenchmarks/XRay/lit.local.cfg
  MicroBenchmarks/XRay/retref-bench.cc
  MicroBenchmarks/libs/CMakeLists.txt
  MicroBenchmarks/libs/benchmark-1.1.0/.clang-format
  MicroBenchmarks/libs/benchmark-1.1.0/.gitignore
  MicroBenchmarks/libs/benchmark-1.1.0/.travis-libcxx-setup.sh
  MicroBenchmarks/libs/benchmark-1.1.0/.travis.yml
  MicroBenchmarks/libs/benchmark-1.1.0/.ycm_extra_conf.py
  MicroBenchmarks/libs/benchmark-1.1.0/AUTHORS
  MicroBenchmarks/libs/benchmark-1.1.0/CMakeLists.txt
  MicroBenchmarks/libs/benchmark-1.1.0/CONTRIBUTING.md
  MicroBenchmarks/libs/benchmark-1.1.0/CONTRIBUTORS
  MicroBenchmarks/libs/benchmark-1.1.0/LICENSE
  MicroBenchmarks/libs/benchmark-1.1.0/README.md
  MicroBenchmarks/libs/benchmark-1.1.0/appveyor.yml
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/AddCXXCompilerFlag.cmake
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/CXXFeatureCheck.cmake
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/GetGitVersion.cmake
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/gnu_posix_regex.cpp
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/posix_regex.cpp
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/std_regex.cpp
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/steady_clock.cpp
  MicroBenchmarks/libs/benchmark-1.1.0/cmake/thread_safety_attributes.cpp
  MicroBenchmarks/libs/benchmark-1.1.0/include/benchmark/benchmark.h
  MicroBenchmarks/libs/benchmark-1.1.0/include/benchmark/benchmark_api.h
  MicroBenchmarks/libs/benchmark-1.1.0/include/benchmark/macros.h
  MicroBenchmarks/libs/benchmark-1.1.0/include/benchmark/reporter.h
  MicroBenchmarks/libs/benchmark-1.1.0/mingw.py
  MicroBenchmarks/libs/benchmark-1.1.0/src/CMakeLists.txt
  MicroBenchmarks/libs/benchmark-1.1.0/src/arraysize.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/benchmark.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/benchmark_api_internal.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/benchmark_register.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/check.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/colorprint.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/colorprint.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/commandlineflags.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/commandlineflags.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/complexity.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/complexity.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/console_reporter.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/csv_reporter.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/cycleclock.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/internal_macros.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/json_reporter.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/log.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/mutex.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/re.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/reporter.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/sleep.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/sleep.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/stat.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/string_util.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/string_util.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/sysinfo.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/sysinfo.h
  MicroBenchmarks/libs/benchmark-1.1.0/src/timers.cc
  MicroBenchmarks/libs/benchmark-1.1.0/src/timers.h
  MicroBenchmarks/libs/benchmark-1.1.0/test/CMakeLists.txt
  MicroBenchmarks/libs/benchmark-1.1.0/test/basic_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/benchmark_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/complexity_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/cxx03_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/diagnostics_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/donotoptimize_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/filter_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/fixture_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/map_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/multiple_ranges_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/options_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/output_test.h
  MicroBenchmarks/libs/benchmark-1.1.0/test/output_test_helper.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/register_benchmark_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/reporter_output_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/test/skip_with_error_test.cc
  MicroBenchmarks/libs/benchmark-1.1.0/tools/compare_bench.py
  MicroBenchmarks/libs/benchmark-1.1.0/tools/gbench/Inputs/test1_run1.json
  MicroBenchmarks/libs/benchmark-1.1.0/tools/gbench/Inputs/test1_run2.json
  MicroBenchmarks/libs/benchmark-1.1.0/tools/gbench/__init__.py
  MicroBenchmarks/libs/benchmark-1.1.0/tools/gbench/report.py
  MicroBenchmarks/libs/benchmark-1.1.0/tools/gbench/util.py

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32272.104625.patch
Type: text/x-patch
Size: 357916 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170629/3cde65a6/attachment-0001.bin>


More information about the llvm-commits mailing list