Benchmark Versions Save

A microbenchmark support library

v1.5.5

2 years ago

new features

  • Add support for new architecture loongarch (#1173)
  • Fixed version of random interleaving of benchmark repetitions (#1163, fixing #1051)
  • Easier comparison of results across families (#1168 #1166 #1165 #1164)

fixes

  • Fix perf counter argument parsing (#1160)

internal cleanup

  • Drop warning to satisfy clang's -Wunused-but-set-variable diag (#1174)
  • Enable some sanitizer builds in github actions (#1167 #1171)
  • Fix memory leak in test (#1169)

v1.5.4

2 years ago

new features

  • better versioning in releases [#1047]
  • MSVC arm64 support [#1090]
  • add support for hardware performance counters [#1114, #1153]
  • add interface for custom context to be included [#1127, #1137]
  • random interleaving to reduce noise [#1105]

compiler cleanliness

  • support -Wsuggest-override [#1059]
  • builds correctly with gcc-11 [#1060]
  • fix some windows warnings [#1121]
  • fix -Wreserved-identifier failures [#1143]
  • fix pendantic warnings [#1156]

v1.5.3

3 years ago

New features

  • Implement custom benchmark names (#1107)
  • Support for macro expansion in benchmark names (#1054)
  • Reduce ramp up repetitions when KeepRunningBatch is used (#1113)

Platform support

  • CycleTimer implemented for M68K architecture (#1050)
  • Support for DragonFly BSD (#1058)
  • Better support for z/OS (#1063, #1067)
  • Add MSVC ARM64 support for cycle clocks (#1052)
  • Add support for Elbrus 2000 (#1091)
  • Fix CPU frequency for AMD Ryzen (and probably other CPUs) (#1117)

Bug fixes

  • Fix range when starting at zero (#1073)

Tool improvements

  • Build tools with bazel (#982)
  • Support JSON dumps of benchmark diffs (#1042)

v1.5.2

3 years ago
  • Timestamps in output are now rfc3339-formatted #965
  • overflow warnings with timers fixed #980
  • Python dependencies are now covered by a requirements.txt #994
  • JSON output cleaned up when no CPU scaling is present (#1008)
  • CartesianProduct added for easier settings of multiple ranges (#1029)
  • Python bindings improvements:
    • Custom main functions (#993)
    • A rename to google_benchmark (#199
    • More state methods bound (#1037) with a builder interface (#1040)
  • Workflow additions in github include pylint (#1039) and bindings runs (#1041)

v1.5.1

3 years ago
  • Python bindings are now available in //bindings/python
  • Upgraded bazel from 0.10.1 to 3.2.0 (long overdue)
  • RISC-V and PPC cycleclock fixes
  • Various build warnings and cmake issues resolved
  • Documentation improvements

v1.5.0

4 years ago
  • Bump CMake minimum version to 3.5.1 (see dependencies.md) (#801)
  • Add threads and repetitions to the JSON outputa (#748)
  • Memory management and reporting hooks (#625)
  • Documentation improvements
  • Miscellaneous build fixes (Mostly Intel compiler and Android)

v1.4.1

5 years ago

Bug-fix release on v1.4.

  • Realign expectation that State::iterations() returns 0 before the main benchmark loop begins. (#598)
  • CMake error message fixes (#595, #584)
  • Enscripten check fix (#583)
  • OpenBSD porting (#582)
  • Windows bazel fixes (#581)
  • Bazel pthread linking (#579)
  • Negative regexes (#576)
  • gmock fix (#564)

v1.4.0

6 years ago
  • Removal of deprecated headers
  • Improved CPU cache info reporting (#486)
  • Support State::KeepRunningBatch() (#521)
  • Support int64_t for AddRange()
  • New platform support: NetBSD, s390x, Solaris
  • Bazel build support
  • Support googletest unit tests
  • Add assembler tests
  • Various warnings fixed

v1.3.0

6 years ago

Highlights

  • Ranged for loop optimization! (#454, #460)
  • Make installation optional (#463)
  • Better stats including user-provided ones (#428)
  • JSON reporter format fixes (#426, #431)
  • Documentation improvements (#445, #433, #466)

v1.2.0

6 years ago

Highlights

  • User-defined counters
  • Single header library
  • Ability to clear benchmarks so the runtime registration is more flexible
  • Sample-based standard deviation
  • 32-bit build enabled
  • Bug fixes