1. 03 Jun, 2021 1 commit
  2. 02 Jun, 2021 4 commits
    • Introduce per-family instance index (#1165) · 80a62618
      Roman Lebedev authored
      Much like it makes sense to enumerate all the families,
      it makes sense to enumerate stuff within families.
      Alternatively, we could have a global instance index,
      but i'm not sure why that would be better.
      
      This will be useful when the benchmarks are run not in order,
      for the tools to sort the results properly.
    • Introduce "family index" field into JSON output (#1164) · 4c2e32f1
      Roman Lebedev authored
      It may be useful for those wishing to further post-process JSON results,
      but it is mainly geared towards better support for run interleaving,
      where results from the same family may not be close-by in the JSON.
      
      While we won't be able to do much about that for outputs,
      the tools can and perhaps should reorder the results to that
      at least in their output they are in proper order, not run order.
      
      Note that this only counts the families that were filtered-in,
      so if e.g. there were three families, and we filtered-out
      the second one, the two families (which were first and third)
      will have family indexes 0 and 1.
    • BenchmarkFamilies::FindBenchmarks(): correctly use std::vector<>::reserve() · e0a080d0
      Roman Lebedev authored
      It takes the whole total new capacity, not the increase.
    • Ensure that we print repetition count even when it was specified via flag… · a54ef37a
      Roman Lebedev authored
      Ensure that we print repetition count even when it was specified via flag `--benchmark_repetitions=`
  3. 01 Jun, 2021 5 commits
  4. 30 May, 2021 2 commits
  5. 28 May, 2021 1 commit
    • Removing freenode from README · 0e1255af
      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.
  6. 21 May, 2021 1 commit
  7. 20 May, 2021 3 commits
    • fix version recorded in releases (#1047) · a4bcd937
      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
    • Implementation of random interleaving. (#1105) · a6a738c1
      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: 's avatarDominic Hamon <dominichamon@users.noreply.github.com>
  8. 19 May, 2021 1 commit
  9. 11 May, 2021 1 commit
    • Support -Wsuggest-override (#1059) · 7d0d9061
      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: 's avatarDominic Hamon <dominichamon@users.noreply.github.com>
  10. 10 May, 2021 2 commits
  11. 07 May, 2021 4 commits
    • remove done TODOs · 0852c79f
      Dominic Hamon authored
    • add g++-6 to ubuntu-14.04 (#1144) · 551a21ba
      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
    • Add ubuntu-14.04 build and test workflow (#1131) · a53b8853
      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
  12. 06 May, 2021 3 commits
  13. 05 May, 2021 1 commit
  14. 04 May, 2021 1 commit
  15. 30 Apr, 2021 1 commit
    • Add multiple compiler support to build-and-test workflow (#1128) · ba9a763d
      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
  16. 28 Apr, 2021 2 commits
    • enable markdown rendering on github pages · 64cb55e9
      Dominic Hamon authored
    • Support optional, user-directed collection of performance counters (#1114) · 376ebc26
      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
  17. 27 Apr, 2021 2 commits
  18. 26 Apr, 2021 2 commits
  19. 24 Apr, 2021 2 commits
  20. 23 Apr, 2021 1 commit
    • [sysinfo] Fix CPU Frequency reading on AMD Ryzen CPU's (#1117) · c05843a9
      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)
      ```