summaryrefslogtreecommitdiffstats
path: root/libcxx/utils/google-benchmark
Commit message (Collapse)AuthorAgeFilesLines
* [libc++][NFC] Remove excess trailing newlines from most filesCasey Carter2019-10-236-6/+0
| | | | Testing git commit access.
* [benchmark] Fix win32 link on case-sensitive fsRoman Lebedev2019-07-302-1/+5
| | | | | | | | | | | | | | Summary: This fixes cross-builds with MinGW from case-sensitive file-systems (on Linux) This is a cherry-pick from https://github.com/google/benchmark/pull/840 https://github.com/google/benchmark/commit/8e48105d465c586068dd8e248fe75a8971c6ba3a Original patch by: @jschueller (Julien Schueller) ! Differential Revision: https://reviews.llvm.org/D61371 llvm-svn: 367356
* [RISCV] Implement benchmark::cycleclock::NowRoger Ferrer Ibanez2019-07-242-0/+21
| | | | | | | | | This is a cherrypick of D64237 onto llvm/utils/benchmark and libcxx/utils/google-benchmark. Differential Revision: https://reviews.llvm.org/D65142 llvm-svn: 366868
* Update google benchmark againEric Fiselier2018-12-143-12/+31
| | | | llvm-svn: 349127
* Update google benchmark versionEric Fiselier2018-12-1417-100/+194
| | | | llvm-svn: 349126
* Remove BUILD file from google-benchmarkBenjamin Kramer2018-11-161-65/+0
| | | | | | This was removed in r336666, but accidentally re-added in r346984. llvm-svn: 347046
* Upgrade Google Benchmark library to ToTEric Fiselier2018-11-1557-863/+2966
| | | | llvm-svn: 346984
* Remove BUILD file from google-benchmarkEric Fiselier2018-07-101-65/+0
| | | | llvm-svn: 336666
* Update google-benchark to trunkEric Fiselier2018-07-1066-729/+2671
| | | | llvm-svn: 336635
* Update Google Benchmark libraryEric Fiselier2018-01-1868-2610/+4870
| | | | llvm-svn: 322812
* Update google benchmarkEric Fiselier2017-04-1841-159/+1227
| | | | llvm-svn: 300530
* Upgrade in-tree google benchmark to v1.1Eric Fiselier2016-11-0559-2476/+2434
| | | | llvm-svn: 286029
* Update Google Benchmark library.Eric Fiselier2016-08-2915-761/+658
| | | | llvm-svn: 279989
* Update in-tree Google Benchmark to current ToT.Eric Fiselier2016-08-0929-280/+1087
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've put some work into the Google Benchmark library in order to make it easier to benchmark libc++. These changes have already been upstreamed into Google Benchmark and this patch applies the changes to the in-tree version. The main improvement in the addition of a 'compare_bench.py' script which makes it very easy to compare benchmarks. For example to compare the native STL to libc++ you would run: `$ compare_bench.py ./util_smartptr.native.out ./util_smartptr.libcxx.out` And the output would look like: RUNNING: ./util_smartptr.native.out Benchmark Time CPU Iterations ---------------------------------------------------------------- BM_SharedPtrCreateDestroy 62 ns 62 ns 10937500 BM_SharedPtrIncDecRef 31 ns 31 ns 23972603 BM_WeakPtrIncDecRef 28 ns 28 ns 23648649 RUNNING: ./util_smartptr.libcxx.out Benchmark Time CPU Iterations ---------------------------------------------------------------- BM_SharedPtrCreateDestroy 46 ns 46 ns 14957265 BM_SharedPtrIncDecRef 31 ns 31 ns 22435897 BM_WeakPtrIncDecRef 34 ns 34 ns 21084337 Comparing ./util_smartptr.native.out to ./util_smartptr.libcxx.out Benchmark Time CPU ----------------------------------------------------- BM_SharedPtrCreateDestroy -0.26 -0.26 BM_SharedPtrIncDecRef +0.00 +0.00 BM_WeakPtrIncDecRef +0.21 +0.21 llvm-svn: 278147
* [libcxx] Add support for benchmark tests using Google Benchmark.Eric Fiselier2016-07-1965-0/+8592
Summary: This patch does the following: 1. Checks in a copy of the Google Benchmark library into the libc++ repo under `utils/google-benchmark`. 2. Teaches libc++ how to build Google Benchmark against both (A) in-tree libc++ and (B) the platforms native STL. 3. Allows performance benchmarks to be built as part of the libc++ build. Building the benchmarks (and Google Benchmark) is off by default. It must be enabled using the CMake option `-DLIBCXX_INCLUDE_BENCHMARKS=ON`. When this option is enabled the tests under `libcxx/benchmarks` can be built using the `libcxx-benchmarks` target. On Linux platforms where libstdc++ is the default STL the CMake option `-DLIBCXX_BUILD_BENCHMARKS_NATIVE_STDLIB=ON` can be used to build each benchmark test against libstdc++ as well. This is useful for comparing performance between standard libraries. Support for benchmarks is currently very minimal. They must be manually run by the user and there is no mechanism for detecting performance regressions. Known Issues: * `-DLIBCXX_INCLUDE_BENCHMARKS=ON` is only supported for Clang, and not GCC, since the `-stdlib=libc++` option is needed to build Google Benchmark. Reviewers: danalbert, dberlin, chandlerc, mclow.lists, jroelofs Subscribers: chandlerc, dberlin, tberghammer, danalbert, srhines, hfinkel Differential Revision: https://reviews.llvm.org/D22240 llvm-svn: 276049
OpenPOWER on IntegriCloud