- 02 Jun, 2021 2 commits
-
-
Roman Lebedev authored
It takes the whole total new capacity, not the increase.
-
Roman Lebedev authored
Ensure that we print repetition count even when it was specified via flag `--benchmark_repetitions=`
-
- 01 Jun, 2021 5 commits
-
-
Dominic Hamon authored
This reverts commit a6a738c1.
-
Norman Heino authored
* Fix argument order in StrSplit * Update AUTHORS, CONTRIBUTORS
-
Dominic Hamon authored
-
Roman Lebedev authored
-
Dominic Hamon authored
-
- 30 May, 2021 2 commits
-
-
Dominic Hamon authored
-
Dominic Hamon authored
-
- 28 May, 2021 1 commit
-
-
Dominic Hamon authored
It seems that by setting the /topic in freenode #googlebenchmark to point to libera I have angered the powers that be and we've been locked out of the channel. Libera it is then.
-
- 21 May, 2021 1 commit
-
-
Mariusz Wachowicz authored
';' after method definition was removed. Also, pedantic flag is now uncommented in CMakeList.txt.
-
- 20 May, 2021 3 commits
-
-
Kai Germaschewski authored
* cmake: fix handling the case where `git describe` fails * cmake: fix version recorded in releases If downloaded as a tarball release, there will be no info from git to determine the release, so it ends up v0.0.0. If that's the case, we'll now use the release specified in the project() command, which needs to be updated for each new release. * cmake: add `--tags` to `git describe` That way, lightweight tags will also be taken into account, which should never hurt, but it'll help in cases where, for some mysterious reason or other, annotated tags don't make it into a clone. * update releasing.md
-
haih-g authored
* Implementation of random interleaving. See http://github.com/google/benchmark/issues/1051 for the feature requests. Committer: Hai Huang (http://github.com/haih-g) On branch fr-1051 Changes to be committed: modified: include/benchmark/benchmark.h modified: src/benchmark.cc new file: src/benchmark_adjust_repetitions.cc new file: src/benchmark_adjust_repetitions.h modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h modified: src/benchmark_register.cc modified: src/benchmark_runner.cc modified: src/benchmark_runner.h modified: test/CMakeLists.txt new file: test/benchmark_random_interleaving_gtest.cc * Fix benchmark_random_interleaving_gtest.cc for fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc modified: src/benchmark_runner.cc modified: test/benchmark_random_interleaving_gtest.cc * Fix macos build for fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h modified: src/benchmark_runner.cc * Fix macos and windows build for fr-1051. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_runner.cc * Fix benchmark_random_interleaving_test.cc for macos and windows in fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: test/benchmark_random_interleaving_gtest.cc * Fix int type benchmark_random_interleaving_gtest for macos in fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: test/benchmark_random_interleaving_gtest.cc * Address dominichamon's comments 03/29 for fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h modified: test/benchmark_random_interleaving_gtest.cc * Address dominichamon's comment on default min_time / repetitions for fr-1051. Also change sentinel of random_interleaving_repetitions to -1. Hopefully it fixes the failures on Windows. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h * Fix windows test failures for fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_api_internal.cc modified: src/benchmark_runner.cc * Add license blurb for fr-1051. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_adjust_repetitions.cc modified: src/benchmark_adjust_repetitions.h * Switch to std::shuffle() for fr-1105. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc * Change to 1e-9 in fr-1105 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_adjust_repetitions.cc * Fix broken build caused by bad merge for fr-1105. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_api_internal.cc modified: src/benchmark_runner.cc * Fix build breakage for fr-1051. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h modified: src/benchmark_register.cc modified: src/benchmark_runner.cc * Print out reports as they come in if random interleaving is disabled (fr-1051) Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc * size_t, int64_t --> int in benchmark_runner for fr-1051. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_runner.cc modified: src/benchmark_runner.h * Address comments from dominichamon for fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc modified: src/benchmark_adjust_repetitions.cc modified: src/benchmark_adjust_repetitions.h modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h modified: test/benchmark_random_interleaving_gtest.cc * benchmar_indices --> size_t to make CI pass: fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark.cc * Fix min_time not initialized issue for fr-1051. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h * min_time --> MinTime in fr-1051. Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: src/benchmark_api_internal.cc modified: src/benchmark_api_internal.h modified: src/benchmark_runner.cc * Add doc for random interleaving for fr-1051 Committer: Hai Huang <haih@google.com> On branch fr-1051 Your branch is up to date with 'origin/fr-1051'. Changes to be committed: modified: README.md new file: docs/random_interleaving.md Co-authored-by:
Dominic Hamon <dominichamon@users.noreply.github.com>
-
Dominic Hamon authored
-
- 19 May, 2021 1 commit
-
-
Mircea Trofin authored
* Extend perf counter support to multi-threaded cases. * Docs update * const-ed Snapshot
-
- 11 May, 2021 1 commit
-
-
Guillaume Chatelet authored
* Support -Wsuggest-override google/benchmark is C++11 compatible but doesn't use the `override` keyword. Projects using google/benchmark with enabled `-Wsuggest-override` and `-Werror` will fail to compile. * Add -Wsuggest-override cxx flag * Revert unrelated formatting * Revert unrelated formatting, take 2 * Revert unrelated formatting, take 3 * Disable -Wsuggest-override when compiling tests, gtest does not handle it yet Co-authored-by:Dominic Hamon <dominichamon@users.noreply.github.com>
-
- 10 May, 2021 2 commits
-
-
Dominic Hamon authored
* Refactor BenchmarkInstance (precursor to #1105) * fix bazel (debug) build * clang-format on header * fix build error on g++-4.8
-
Dominic Hamon authored
-
- 07 May, 2021 4 commits
-
-
Dominic Hamon authored
-
Dominic Hamon authored
* add g++-6 to ubuntu-14.04 * fix syntax * fix yamllint errors for build-and-test * fix 'add-apt-repository' command not found * make 'run tests' explicit * enable testing and run both release and debug * oops
-
Michał Janiszewski authored
-
Dominic Hamon authored
* Add ubuntu-14.04 build and test workflow * avoid '.' in job name * no need for fail fast * fix workflow syntax * install some stuff * better compiler installations * update before install * just say yes * trying to match up some paths * Difference between runner and github context in container? * Try some judicious logging * cmake 3.5+ required * specific compiler versions * need git for googletest * Disable testing on old compilers * disable testing properly
-
- 06 May, 2021 3 commits
-
-
Roman Lebedev authored
-
Mircea Trofin authored
This also fixes #1135. Because StrSplit was returning a vector with an empty string, it was treated by PerfCounters::Create as a legitimate ask for setting up a counter with that name. The empty vector is understood by PerfCounters as "just return NoCounters()".
-
Paweł Bylica authored
-
- 05 May, 2021 1 commit
-
-
Dominic Hamon authored
* Add API to benchmark allowing for custom context to be added Fixes #525 * add docs * Add context flag output to JSON reporter * Plumb everything into the global context. * Add googletests for custom context * update docs with duplicate key behaviour
-
- 04 May, 2021 1 commit
-
-
Dominic Hamon authored
* Add `benchmark_context` flag that allows per-run custom context. Add support for key-value flags in general. Added test for key-value flags. Added `benchmark_context` flag. Output content of `benchmark_context` to base reporter. Solves the first part of #525. * Docs and better help
-
- 30 Apr, 2021 1 commit
-
-
Dominic Hamon authored
* Add 32-bit build support to build-and-test * attempt different yaml multiline string format * syntax fixes to yaml * switch to getting alternative compilers working * remove done TODO * trying to separate out windows * oops, typo. * add TODOs for missing builds wrt travis
-
- 28 Apr, 2021 2 commits
-
-
Dominic Hamon authored
-
Mircea Trofin authored
* Support optional, user-directed collection of performance counters The patch allows an engineer wishing to drill into the root causes of a regression, for example. Currently, only single threaded runs are supported. The feature is a build-time opt in, and then a runtime opt in. The engineer may run the benchmark executable, passing a list of performance counter names (using libpfm's naming scheme) at the command line. The counter values will then be collected and reported back as UserCounters. This is different from #240 in that it is a benchmark user opt-in, and the counter collection is transparent to the benchmark. Currently, this is only supported on platforms where libpfm is supported. libpfm: http://perfmon2.sourceforge.net/ * 'Use' values param in Snapshot when BENCHMARK_OS_WINDOWS This is to avoid unused parameter warning-as-error * Added missing include for <vector> in perf_counters.cc * Moved doc to docs * Added license blurbs
-
- 27 Apr, 2021 2 commits
-
-
Dominic Hamon authored
Fixes #713
-
Dominic Hamon authored
-
- 26 Apr, 2021 2 commits
-
-
Dominic Hamon authored
-
Kai Germaschewski authored
according to https://cmake.org/cmake/help/latest/command/function.html, "Referencing to ARGV# arguments beyond ARGC have undefined behavior.", which I hit with cmake 3.19.7. This uses ARGC to check whether ARGV1 has been passed before referencing it.
-
- 24 Apr, 2021 2 commits
-
-
Roman Lebedev authored
[tools] Fix dumb mistake in previous commit - print aggregates only means aggregates, not non-aggregates
-
Roman Lebedev authored
This probably regressed in #1042.
-
- 23 Apr, 2021 1 commit
-
-
Roman Lebedev authored
Currently, i get: ``` Run on (32 X 7326.56 MHz CPU s) CPU Caches: L1 Data 32 KiB (x16) L1 Instruction 32 KiB (x16) L2 Unified 512 KiB (x16) L3 Unified 32768 KiB (x2) ``` which seems mostly right, except that the frequency is rather bogus. Yes, i guess the CPU could theoretically achieve that, but i have 3.6GHz configured, and scaling disabled. So we clearly read the wrong thing. With this fix, i now get the expected ``` Run on (32 X 3598.53 MHz CPU s) CPU Caches: L1 Data 32 KiB (x16) L1 Instruction 32 KiB (x16) L2 Unified 512 KiB (x16) L3 Unified 32768 KiB (x2) ```
-
- 20 Apr, 2021 1 commit
-
-
Matt Armstrong authored
Use the benchmark's reported iteration count when estimating iterations for the next repetition, rather than the requested iteration count. When the benchmark uses KeepRunningBatch the actual iteration count can be larger than the one the runner requested. Prior to this fix the runner was underestimating the next iteration count, sometimes significantly so. Consider the case of a benchmark using a batch size of 1024. Prior to this change, the benchmark runner would attempt iteration counts 1, 10, 100 and 1000, yet the benchmark itself would do the same amount of work each time: a single batch of 1024 iterations. The discrepancy could also contribute to estimation errors once the benchmark time reached 10% of the target. For example, if the very first batch of 1024 iterations reached 10% of benchmark_min_min time, the runner would attempt to scale that to 100% from a basis of one iteration rather than 1024. This bug was particularly noticeable in benchmarks with large batch sizes, especially when the benchmark also had slow set up or tear down phases. With this fix in place it is possible to use KeepRunningBatch to achieve a kind of "minimum iteration count" feature by using a larger fixed batch size. For example, a benchmark may build a map of 500K elements and test a "find" operation. There is no point in running "find" just 1, 10, 100, etc., times. The benchmark can now pick a batch size of something like 10K, and the runner will arrive at the final max iteration count with in noticeably fewer repetitions.
-
- 19 Apr, 2021 2 commits
-
-
Dominic Hamon authored
-
Dominic Hamon authored
* See if bazel "just works" now (almost) * Add cache and better bazel test command line * Narrow focus of bazel build
-