Releases: google/benchmark
Releases Β· google/benchmark
v1.8.3
What's Changed
- Fix broken PFM-enabled tests by @macandy13 in #1623
- Update tools.md for missing color meaning issue #1491 by @varshneydevansh in #1624
- Add pyproject.toml file for PEP518 compliance by @nicholasjng in #1625
- pfm: Use a more standard CMake approach for finding libpfm by @chipot in #1628
- Bump
nanobind
to stable v1.4.0 tag by @nicholasjng in #1626 - Bump scipy from 1.5.4 to 1.10.0 in /tools by @dependabot in #1630
- Downgrade bazel to windows-2019 by @dmah42 in #1629
- Add tests for Human Readable functionality by @dmah42 in #1632
- Delete unused requirements file, simplify nanobind build file by @nicholasjng in #1635
- Update bzlmod support to new rules_python extension API by @jsharpe in #1633
- Re-enable
windows-latest
tests for newer Bazel by @nicholasjng in #1641 - Fix
-Werror,-Wold-style-cast
build failure on Windows. by @saran-t in #1637 - Mark internal deps as dev_depenencies so that downstream modules don't require those by @macandy13 in #1640
- bug: Inconsistent suffixes console reporter 1009 by @varshneydevansh in #1631
- Fix IntelLLVM compiler error by @joannapng in #1644
- fix: added benchmark_counters_tabular for file by @varshneydevansh in #1645
- [perf-counters] Fix pause/resume by @mtrofin in #1643
- sysinfo.cc: Call getloadavg for Android API >= 29 by @jmr in #1649
- benchmark.cc: Fix benchmarks_with_threads condition by @jmr in #1651
- perf-counters: Make tests pass on Android by @jmr in #1653
- State: Initialize counters with kAvgIteration in constructor by @jmr in #1652
- perf_counters: Initialize once only when needed by @jmr in #1656
- test: Use gtest_main only when needed by @jmr in #1657
- StatisticsMedian: Fix bug by @jmr in #1658
New Contributors
- @varshneydevansh made their first contribution in #1624
- @chipot made their first contribution in #1628
- @dependabot made their first contribution in #1630
- @jsharpe made their first contribution in #1633
- @saran-t made their first contribution in #1637
- @joannapng made their first contribution in #1644
- @jmr made their first contribution in #1649
Full Changelog: v1.8.2...v1.8.3
v1.8.2
v1.8.1
What's Changed
- Disable debug-only test in release builds to avoid expected failures. by @macandy13 in #1595
- Fix code triggering -Wsign-conversion by @oontvoo in #1596
- Update Python version to PY3, as indicated by the actual source file. by @macandy13 in #1598
- Fixed a typo in docs by @toughengineer in #1600
- Fix pass rvalue to DoNotOptimize by @bgaifullin in #1608
- Fix a typo in regex choice by @Chilledheart in #1610
- remove old-style (C-style) casts by @garymm in #1614
- Add support for bzlmod (excluding Python bindings) by @macandy13 in #1615
- Add a CI test for the new bzlmod integration by @macandy13 in #1617
- Suppress intentional potential memory leak as detected by clang static analysis by @LebedevRI in #1618
New Contributors
- @macandy13 made their first contribution in #1595
- @toughengineer made their first contribution in #1600
- @bgaifullin made their first contribution in #1608
- @Chilledheart made their first contribution in #1610
- @garymm made their first contribution in #1614
Full Changelog: v1.8.0...v1.8.1
v1.8.0
What's Changed
- Removed deprecated function by @oontvoo in #1506
- Return option benchmark_perf_counters to help output by @MaximSmolskiy in #1508
- Fixes incorrect wide string conversion on win32 by @JessyDL in #1516
- Try removing attempt to set the C++ standard by @dmah42 in #1464
- Add a
benchmark_deps.bzl
function to Google Benchmark by @nicholasjng in #1520 - Bug fix variable 'actual_iterations' set but not used by @yuryf-google in #1517
- Fix Clang-Tidy warnings related to modernize-use-override by @SunBlack in #1523
- Fix typos found by codespell by @SunBlack in #1519
- Include the benchmark's family-name in State by @oontvoo in #1511
- Fix Clang-Tidy warnings readability-else-after-return by @SunBlack in #1528
- [doc]Add quick instructions on how to enable sans checks by @oontvoo in #1529
- Modernize setup.py, extend Python bindings CI by @nicholasjng in #1535
- Switch bindings implementation to
nanobind
by @nicholasjng in #1526 - try disabling liquid for jekyll to fix curly braces by @dmah42 in #1536
- remove best effort support for ubuntu 18.04 by @dmah42 in #1537
- Deprecate constant reference API to DoNotOptimize. by @ckennelly in #1493
- Fixing issue with ARM64EC and MSVC by @jbr-smtg in #1514
- fix #1446 by removing the address operator by @dmah42 in #1538
- Support --benchmarks_filter in the compare.py 'benchmarks' command by @matta in #1486
- Allow specifying number of iterations via --benchmark_min_time. by @oontvoo in #1525
- Refactor links which include "master" and change it to "main" by @hamptonm1 in #1540
- replace complexity with simplicity for faster libc++ setup by @dmah42 in #1539
- update github actions to latest versions by @dmah42 in #1541
- Removing warnings appearing with C++20 / CLang 15 by @yuryf-google in #1542
- Add missing parentheses in ParseBenchMinTime() by @JonathonReinhart in #1545
- Werror all the time by @dmah42 in #1546
- cleanup: support CMake >= 3.10 by @coryan in #1544
- Fix CPU frequency estimation on riscv by @dtcxzyw in #1549
- add compiler to build-and-test and create min-cmake CI bot by @dmah42 in #1550
- Implement unlimited number of performance counters by @HFTrader in #1552
- Filter performance counter names, not invalidate all by @HFTrader in #1554
- get rid of
DoNotOptimize
warnings in tests by @dmah42 in #1562 - Refactoring of PerfCounters infrastructure by @HFTrader in #1559
- Bump nanobind to stable v0.2.0, change linker options by @nicholasjng in #1565
- Fix examples in user guide using deprecated
DoNotOptimize
-API by @mjacobse in #1568 - Fix build break with nvc++ when -Werror is ON by @HFTrader in #1569
- [FR] state.SkipWithMessage #963 by @gatorfax in #1564
- use std::string for skip messages by @dmah42 in #1571
- [FR] Provide public accessors to benchmark name and arguments #1551 by @gatorfax in #1563
- Address warnings on NVIDIA nvc++ by @HFTrader in #1573
- add '@' to correctly reference build file for libpfm by @dmah42 in #1575
- Convert uses of
const char*
tostd::string
by @dmah42 in #1567 - link to benchmark directly for tests that aren't link_main_test by @dmah42 in #1576
- Fix compile warnings about ignoring a [[nodiscard]] type. by @pkasting in #1577
- Correct libpfm dep for integrators. by @shiqing117 in #1579
- Guard NOMINMAX to prevent redefinition error (#1581) by @dushko in #1582
- reenable msan sanitizer workflow by @dmah42 in #1589
New Contributors
- @MaximSmolskiy made their first contribution in #1508
- @JessyDL made their first contribution in #1516
- @yuryf-google made their first contribution in #1517
- @SunBlack made their first contribution in #1523
- @jbr-smtg made their first contribution in #1514
- @hamptonm1 made their first contribution in #1540
- @JonathonReinhart made their first contribution in #1545
- @coryan made their first contribution in #1544
- @dtcxzyw made their first contribution in #1549
- @HFTrader made their first contribution in #1552
- @gatorfax made their first contribution in #1564
- @pkasting made their first contribution in #1577
- @shiqing117 made their first contribution in #1579
- @dushko made their first contribution in #1582
Full Changelog: v1.7.1...v1.8.0
v1.7.1
What's Changed
- Remove stray comment and added missing header by @oontvoo in #1444
- Initialize help hook before actually parsing the command line by @yurikhan in #1447
- remove unnecessary generated include directory by @dominichamon in #1451
- Fixed build issues on window by @oontvoo in #1449
- Explicitly cast int literals to int8_t in tests to silence implicit-conversion warnings by @oontvoo in #1455
- Ensure we don't need benchmark installed to pass c++ feature checks by @dominichamon in #1456
- Avoid deprecation warning in NVHPC by @cz4rs in #1459
- run ClearRegisteredBenchmarks at exit by @dominichamon in #1463
- FIx typo in benchmark.h by @bdaase in #1465
- add debug option for enabling more output for failed cxxfeaturechecks by @dominichamon in #1467
- Fix link error when use as static library on windows. by @PSyton in #1470
- use CMAKE_INSTALL_FULL in pkg-config file (fixes nix package) by @babbaj in #1473
- Clean up test documentation formatting by @drfloob in #1475
- Enable aarch64 Linux wheel builds, use cibuildwheel action directly by @nicholasjng in #1472
- Eliminate usage of deprecated API in sysinfo.cc by @oontvoo in #1474
- Stop using pandas.Timedelta (fixes #1482) by @matta in #1483
- Discuss sources of variance in the user guide by @matta in #1481
- Bump pybind11 version to enable Python 3.11 wheel builds by @nicholasjng in #1489
- bump cmake dep and docs by @dominichamon in #1468
- Support for QuRT OS (Hexagon RTOS) by @Maratyszcza in #1497
- Fix Solaris compilation (#1499) by @rorth in #1500
- Do not depend on unversioned python binary by @MatzeB in #1496
- Partially revert "Do not depend on unversioned python binary (#1496)" by @LebedevRI in #1501
- Add information for supported Python versions to setup.py by @nicholasjng in #1502
- [bazel] Build libpfm as a dependency to allow collection of perf counters by @rajachan in #1408
New Contributors
- @bdaase made their first contribution in #1465
- @PSyton made their first contribution in #1470
- @babbaj made their first contribution in #1473
- @drfloob made their first contribution in #1475
- @rorth made their first contribution in #1500
- @MatzeB made their first contribution in #1496
- @rajachan made their first contribution in #1408
Full Changelog: v1.7.0...v1.7.1
v1.7.0
Small release to replace broken v1.6.2 release
What's Changed
- Stop generating the export header and just check it in by @dominichamon in #1435
- use target_compile_definitions by @dominichamon in #1440
- simplified code by @maochongxin in #1439
New Contributors
- @maochongxin made their first contribution in #1439
Full Changelog: v1.6.2...v1.7.0
v1.6.2
What's Changed
- Add docs for
ThreadRange
. by @dominichamon in #1318 - Add docs on Memory profiling (#1217). by @dominichamon in #1319
- Suppress GoogleTest warnings on windows (MSVC) too. by @dominichamon in #1320
- Expand documentation for unpacking arbitrary arguments. by @dominichamon in #1324
- Refine docs on changing cpufreq governor by @dominichamon in #1325
- Refine the User Guide CPU Frequency Scaling section by @matta in #1331
- Fix some errors in Custom Statistics document demo code. by @YuanYingdong in #1332
- Cache PerfCounters instance in PerfCountersMeasurement by @taoliq in #1308
- Fix cross compilation for macOS ARM builds in
cibuildwheel
by @nicholasjng in #1334 - bump numby, as per dependabot by @dominichamon in #1336
- Use Win32 API only for Win32 apps by @batortaller in #1333
- Add mutex when reading counters_ (Fixes #1335) by @taoliq in #1338
- Avoid potential truncation issues for the integral type parameterized tests. by @staffantj in #1341
- Expose default display reporter creation in public API by @dominichamon in #1344
- explicitly export public symbols by @sergiud in #1321
- Check for macro existence before using by @oontvoo in #1347
- simplify reference to internal path by @dominichamon in #1349
- Introduce the possibility to customize the help printer function by @vincenzopalazzo in #1342
- move bzl file out of tools by @dominichamon in #1352
- resolve case sensitivity issues with
WORKSPACE
andworkspace
by @dominichamon in #1354 - Make generate_export_header.bzl work for Windows. by @junyer in #1355
- @platforms is magical; remove it from WORKSPACE. by @junyer in #1356
- restore
BENCHMARK_MAIN()
by @sergiud in #1357 - Allow setting the default time unit globally by @batortaller in #1337
- Add long description and content type for proper PyPI presentation by @nicholasjng in #1361
- Add SetBenchmarkFilter() to set --benchmark_filter flag value in user code by @oontvoo in #1362
- Appended additional BSD 3-Clause to LICENSE by @oontvoo in #1363
- Add PyPI upload job to wheel building workflow by @nicholasjng in #1359
- Fix float comparaison and add float comparison warning by @bensuperpc in #1368
- Update LICENSE file to clearly state which file needs BSD 3 by @oontvoo in #1366
- Add BENCHMARK_STATIC_DEFINE to the Python bindings'
cc_binary
local⦠by @nicholasjng in #1369 - Remove conditional trigger from PyPI upload job by @nicholasjng in #1370
- Change artifact download name to dist to match upload name by @nicholasjng in #1371
- Build
//:benchmark
as a static library only. by @junyer in #1373 - Fix Bazel build breakage caused by commit 6a894bd. by @junyer in #1374
- [nfc] Reformat doc-string in generate_export_header by @oontvoo in #1376
- Updates for inclusive language by @messerb5467 in #1360
- getting sysinfo in line with Google style by @dominichamon in #1381
- Small optimization to counter map management by @dominichamon in #1382
- Shut down Bazel gracefully and revert wheel build strategy to job matrix by @nicholasjng in #1383
- Fix wheel job name for PyPI uploads by @nicholasjng in #1384
- Filter out benchmarks that start with "DISABLED_" by @dominichamon in #1387
- Add benchmark labels to the output of the comparison tool by @dominichamon in #1388
- Enable -Wconversion by @dominichamon in #1390
- Add installation and build instructions for Python bindings by @nicholasjng in #1392
- fix some typos by @cuishuang in #1393
- Add option to get the verbosity provided by commandline flag -v (#1330) by @Matthdonau in #1397
- Add support to get clock for new architecture CSKY by @zixuan-wu in #1400
- Introduce warmup phase to BenchmarkRunner (#1130) by @Matthdonau in #1399
- Report large numbers in scientific notation in console reporter (#1303) by @Matthdonau in #1402
- add multiple OSes to bazel workflow by @dominichamon in #1412
- Add possibility to ask for libbenchmark version number (#1004) by @Matthdonau in #1403
- Fix DoNotOptimize() GCC copy overhead (#1340) by @alexgpg in #1410
- Clarify that the cpu frequency is not used for benchmark timings. by @dominichamon in #1414
- Revert "Add possibility to ask for libbenchmark version number (#1004)" by @dominichamon in #1417
- Remove redundant formatting tags by @tomcobley in #1420
- Fix DoNotOptimize() GCC compile error with some types (#1340) by @alexgpg in #1424
- Expose default help printer function by @yurikhan in #1425
- fix sanitizer builds by using clang 13 by @dominichamon in #1426
- Suppress nvcc
offsetof
warning by @cz4rs in #1429 - Expose google_benchmark.State for python bindings. by @rmcilroy in #1430
New Contributors
- @YuanYingdong made their first contribution in #1332
- @taoliq made their first contribution in #1308
- @batortaller made their first contribution in #1333
- @vincenzopalazzo made their first contribution in #1342
- @messerb5467 made their first contribution in #1360
- @cuishuang made their first contribution in #1393
- @Matthdonau made their first contribution in #1397
- @zixuan-wu made their first contribution in #1400
- @alexgpg made their first contribution in #1410
- @tomcobley made their first contribution in #1420
- @yurikhan made their first contribution in #1425
- @cz4rs made their first contribution in #1429
- @rmcilroy made their first contribution in #1430
Full Changelog: v1.6.1...v1.6.2
v1.6.1
What's Changed
Fixes
- Remove unused parameter from lambda. by @dominichamon in #1223
- Optimized docs installation by @xvitaly in #1225
- Fix mention of --benchmarks in comment by @oontvoo in #1229
- cmake: eliminate redundant
target_include_directories
by @sergiud in #1242 - Cmake: options for controlling werror, disable werror for PGI compilers by @PhilipDeegan in #1246
- Fix -Wdeprecated-declarations warning triggered by clang-cl. by @bc-lee in #1245
- cmake: make package config relocatable by @sergiud in #1244
- cmake: allow to use package config from build directory by @sergiud in #1240
- Fix -Wdeprecated-declarations warning once more. by @bc-lee in #1256
- Fix un-initted error in test and fix change the API previously proposed to use std::string instead of raw char* by @oontvoo in #1266
- [cleanup] Change
== ""
to.empty()
on string to avoid clang-tidy warnings by @oontvoo in #1271 - Fix errorWshorten-64-to-32 with clang 12.0 by @bensuperpc in #1273
- Fix error with Fix Werror=old-style-cast by @bensuperpc in #1272
- Fixed typo in doc: s/marcro/macro by @oontvoo in #1274
- Fix warning with MacOS by @bensuperpc in #1276
- clang-format Google on {src/,include/} by @dominichamon in #1280
- format tests with clang-format by @dominichamon in #1282
- check clang format on pull requests and merges by @dominichamon in #1281
- Fix dependency typo and unpin cibuildwheel version in wheel building β¦ by @nicholasjng in #1263
- disable lint check where we know it'd fail by @oontvoo in #1286
- Disable clang-tidy (unused-using-decls) by @oontvoo in #1287
- Add clang-tidy check by @dominc8 in #1290
- Fix broken link to Setup/Teardown section by @Krzmbrzl in #1291
- Update user_guide.md:
thread_index
should bethread_index()
by @ShawnZhong in #1296 - clang-tidy: readability-redundant and performance by @dominc8 in #1298
- update googletest to latest release tag 1.11.0 by @dominichamon in #1301
- Avoid errors due to "default label in switch which covers all enumeration values" in Windows codepath by @mstorsjo in #1302
- Fix
-DBENCHMARK_ENABLE_INSTALL=OFF
build (Fixes #1275) by @LebedevRI in #1305 - Address c4267 warning on MSVC by @staffantj in #1315
- Destructor not returning is expected in some cases by @staffantj in #1316
Features
- Added support of packaged GTest for running unit tests by @xvitaly in #1226
- Introduce additional memory metrics by @oontvoo in #1238
- Added Doxygen support by @xvitaly in #1228
- Allow template arguments to be specified directly on the BENCHMARK macro by @oontvoo in #1262
- [RFC] Adding API for setting/getting benchmark_filter flag? by @oontvoo in #1254
- use docker container for ubuntu-16.04 builds by @dominichamon in #1265
- Support for building with LLVM clang-10/clang-11 on Windows. by @alisenai in #1227
- Add Setup/Teardown option on Benchmark. by @oontvoo in #1269
- compare.py: compute and print 'OVERALL GEOMEAN' aggregate by @LebedevRI in #1289
New Contributors
- @PhilipDeegan made their first contribution in #1246
- @bc-lee made their first contribution in #1245
- @bensuperpc made their first contribution in #1273
- @alisenai made their first contribution in #1227
- @rHermes made their first contribution in #1283
- @dondenton made their first contribution in #1285
- @dominc8 made their first contribution in #1290
- @Krzmbrzl made their first contribution in #1291
- @ShawnZhong made their first contribution in #1296
- @staffantj made their first contribution in #1315
Full Changelog: v1.6.0...v1.6.1
v1.6.0
features
- [breaking change] introduce accessorrs for public data members (#1208)
- add support for percentage units in statistics (#1219)
- introduce coefficient of variation aggregate (#1220)
- format percentages in console reporter (#1221)
bugfixes
- fix unreachable code warning (#1214)
- replace #warning with #pragma message (#1216)
- report PFM as found when it is
- update u-test value expectations due to scipy upgrade