Releases: google/benchmark
Releases Β· google/benchmark
v1.9.4
What's Changed
- Update build instructions for Visual Studio by @Andrewyuan34 in #1980
MaybeReenterWithoutASLR()
: be more cautious about argument types by @LebedevRI in #1983- Fix
MaybeReenterWithoutASLR()
in docker by @chfast in #1985 - Enable Google Benchmark to run in WebAssembly with filesystem disabled by @XueSongTap in #1956
- wheels: Build Linux ARM wheels natively on ARM runners by @nicholasjng in #1969
New Contributors
- @Andrewyuan34 made their first contribution in #1980
- @XueSongTap made their first contribution in #1956
Full Changelog: v1.9.3...v1.9.4
v1.9.3
What's Changed
- Use the top-level ::benchmark namespace to resolve
make_unique
by @dmah42 in #1960 - Refactor threading run by @krzikalla in #1961
- Threading api v3 by @krzikalla in #1955
- Templated fixture methods by @krzikalla in #1967
- Macro fix by @krzikalla in #1968
- Deprecate ubuntu-20.04 images in actions by @dmah42 in #1971
- deps: Update nanobind_bazel to v2.7.0 by @nicholasjng in #1970
- Fix error handling of getloadavg by @mark-horvath-arm in #1974
- Improve user UX on empty benchmarks by @LebedevRI in #1976
- Detect and report ASLR status by @LebedevRI in #1977
- Automatic ASLR disablement by @LebedevRI in #1978
- dev: Update pre-commit hooks by @nicholasjng in #1979
New Contributors
- @krzikalla made their first contribution in #1961
- @mark-horvath-arm made their first contribution in #1974
Full Changelog: v1.9.2...v1.9.3
v1.9.2
What's Changed
- Add artifact name to download before wheel PyPI upload by @nicholasjng in #1882
- Remove if statement from wheel upload job by @nicholasjng in #1883
- Fix malformed clang invocation in build_ext.run by @nicholasjng in #1884
- Remove wheel merge job, merge artifacts on download by @nicholasjng in #1886
- Change SDK version check by @DKLoehr in #1887
- [bazel] Remove selects on CPU by @keith in #1892
- cycleclock: Support for PA-RISC (hppa) architecture by @hdeller in #1894
- fix: remove clang-cl compilation warning by @theComputeKid in #1895
- README.md: fix build instructions by @0dminnimda in #1880
- cycleclock: Use clock_gettime() as fallback for any Linux architecture by @hdeller in #1899
- Fix runtime crash when parsing /proc/cpuinfo fails by @hdeller in #1900
- Get number of CPUs with sysconf() on Linux by @hdeller in #1901
- Update nanobind-bazel to v2.4.0 by @nicholasjng in #1904
- ci: Update pre-commit hooks by @nicholasjng in #1905
- Lint Python: Add more ruff rules by @cclauss in #1909
- GitHub Actions: build-and-test on an ARM processor by @cclauss in #1911
- ruff rule E501: Fix long lines in Python code by @cclauss in #1910
- [BUG] Fix ProfilerManager number of iterations #1913 by @xdje42 in #1914
- Update error message now that /proc/cpuinfo is no longer in use by @brad0 in #1917
- add back /proc/cpuinfo as a fallback for some platforms by @dmah42 in #1918
- change pacboy compiler target for windows builds by @dmah42 in #1915
- Retrieve the number of online CPUs on OpenBSD and NetBSD by @brad0 in #1916
- Replace usage of deprecated sysctl on macOS by @brad0 in #1919
- Try to use the _SC_NPROCESSORS_ONLN sysconf elsewhere by @brad0 in #1920
- fix sanitizer cmake builds by @dmah42 in #1906
- Remove /proc/cpuinfo fallback path by @brad0 in #1921
- Build
libpfm
withrules_cc
by @UebelAndre in #1922 - remove cxx03 test, fully unblocking c++1X development by @dmah42 in #1903
- run clang-tidy using a common config and reduced set of tests by @dmah42 in #1923
- benchmark declarations can and should be const (clang-tidy) by @dmah42 in #1924
- [clang-tidy] use unique_ptr for benchmark registration by @dmah42 in #1927
- [clang-tidy] fix warning about decaying array to pointer by @dmah42 in #1926
- [clang-tidy] fix missing braces by @dmah42 in #1928
- [clang-tidy] autofix cppcoreguidelines by @dmah42 in #1932
- [clang-tidy] autofix readability issues by @dmah42 in #1931
- dx: Update pre-commit repos, change imports of Python / CC rules by @nicholasjng in #1937
- deps: Update nanobind_bazel to v2.5.0 by @nicholasjng in #1936
- use smart pointers by @dmah42 in #1935
- [clang-tidy] resolve some global clang-tidy issues by @dmah42 in #1933
- Fix build errors on QuRT (Hexagon) by @dsharlet in #1938
- change setup and teardown callback type by @EfesX in #1934
- Install FindPFM.cmake for bencmarkConfig.cmake by @parona-source in #1942
- fix memory manager result bug by @EfesX in #1941
- Compilation example was wrong. Fixed standard by @maxvdec in #1945
- CI: unbreak MSan job by @LebedevRI in #1946
- update version of gtest to v1.15.2 (latest) and also the cmake config by @imrichardcole in #1864
- Finish cxx version bump by @LebedevRI in #1948
New Contributors
- @keith made their first contribution in #1892
- @hdeller made their first contribution in #1894
- @theComputeKid made their first contribution in #1895
- @0dminnimda made their first contribution in #1880
- @brad0 made their first contribution in #1917
- @UebelAndre made their first contribution in #1922
- @dsharlet made their first contribution in #1938
- @EfesX made their first contribution in #1934
- @parona-source made their first contribution in #1942
- @maxvdec made their first contribution in #1945
Full Changelog: v1.9.1...v1.9.2
v1.9.1
What's Changed
- Fix Python manual timing example by @alxbilger in #1722
- Align benchmark::State to a cacheline. by @ckennelly in #1230
- Fix C4459: Rename a function parameter
profiler_manager
to avoid hiding the global declaration. by @fsb4000 in #1839 - Bump oldest supported Python to 3.10, eliminate setuptools-scm by @nicholasjng in #1842
- enable the /MP MSVC compiler argument for parallel compilation by @imrichardcole in #1846
- Added the functionality for a dry run benchmark called through the cli argument --benchmark_dry_run. by @dmah42 in #1851
- Version string correction in pkg-config files by @aespondac in #1858
- Add enum value from newest Windows SDK by @DKLoehr in #1859
- Fix spurious warning 'misc-use-anonymous-namespace' (#1860) by @codeinred in #1861
- Update user_guide.md by @aespondac in #1863
- upgrade bazel mods. requires c++14 for tests by @dmah42 in #1867
- Update nanobind_bazel to v2.2.0 by @nicholasjng in #1866
- bump googletest version to match bazel by @dmah42 in #1868
- Verify RegisterProfilerManager doesn't overwrite an existing registration by @xdje42 in #1837
- [#1487] ensure background color is preserved by @imrichardcole in #1865
- Add
nb::is_flag()
annotation to Counter::Flags by @nicholasjng in #1870 - Add a Python matrix to ensure the bindings build on all supported versions by @nicholasjng in #1871
- Declare a Python 3.13 toolchain, revert setup.py toolchain target sele⦠by @nicholasjng in #1876
- update standard to C++17 per C++ build support by @dmah42 in #1875
- Improve examples on
ComputeStatistics
by @guoci in #1881
New Contributors
- @alxbilger made their first contribution in #1722
- @fsb4000 made their first contribution in #1839
- @imrichardcole made their first contribution in #1846
- @aespondac made their first contribution in #1858
- @codeinred made their first contribution in #1861
- @guoci made their first contribution in #1881
Full Changelog: v1.9.0...v1.9.1
v1.9.0
What's Changed
breaking
other
- Update benchmark Python bindings for nanobind 2.0, and update to nano⦠by @hawkinsp in #1817
- Revert to token authentication for PyPI wheel uploads by @nicholasjng in #1819
- Suppress invalid-offsetof warning for clang by @DKLoehr in #1821
- Use log2 now that NDK requires at least API 21 which includes it. by @dmah42 in #1822
- Update libs into .pre-commit-config.yaml by @mosfet80 in #1825
- Update nanobind into benchmark_deps.bzl by @mosfet80 in #1826
- Bump nanobind-bazel to v2.1.0, add stubgen target by @nicholasjng in #1824
- Move ProfilerManager Start/Stop routines closer to benchmark #1807 by @xdje42 in #1818
- Cache upd by @mosfet80 in #1830
- Update clang-format-lint-action by @mosfet80 in #1829
- chore: update perf_counters.cc by @eltociear in #1831
New Contributors
- @hawkinsp made their first contribution in #1817
- @DKLoehr made their first contribution in #1821
- @eltociear made their first contribution in #1831
Full Changelog: v1.8.5...v1.9.0
v1.8.5
What's Changed
- Improve compatibility with Hexagon hardware by @steven-johnson in #1785
- hotfix: Correct pypi-publishing action tag to v1.8.14 by @nicholasjng in #1791
- CMake: unbreak version handling for tarballs by @LebedevRI in #1793
- cycleclock: Fix type conversion to match function return type by @kraj in #1794
- bump standard to C++14 by @dmah42 in #1799
- Docs: Bump minimum required C++ version from C++11 to C++14 by @rschu1ze in #1800
- cycleclock: Fix type conversion to match function return type on riscv64 by @kraj in #1802
- [bazel] Use
includes
instead ofstrip_include_prefix
by @alexkaratarakis in #1803 - Find libpfm dependency in installed CMake configs by @stephenswat in #1806
- Add -lkstat to the .pc for Solaris by @ccotter in #1801
- add PERF_FORMAT_TOTAL_TIME_{ENABLED,RUNNING} to support multiplexing by @dmah42 in #1814
- Clarify the difference between
BENCHMARK_TEMPLATE_F
andBENCHMARK_TEMPLATE_DEFINE_F
+BENCHMARK_REGISTER_F
by @jiawen in #1815 - [FR] Add API to provide custom profilers #1807 by @xdje42 in #1809
New Contributors
- @steven-johnson made their first contribution in #1785
- @kraj made their first contribution in #1794
- @rschu1ze made their first contribution in #1800
- @alexkaratarakis made their first contribution in #1803
- @stephenswat made their first contribution in #1806
- @ccotter made their first contribution in #1801
- @jiawen made their first contribution in #1815
- @xdje42 made their first contribution in #1809
Full Changelog: v1.8.4...v1.8.5
v1.8.4
What's Changed
- Audit MSVC references in cmake files to consider clang++ by @Maetveis in #1669
- Make json and csv output consistent. by @andreas-abel in #1662
- Update bazel.yml by @mosfet80 in #1671
- Fix building on MinGW: default
WINVER
is too old by @zm1060 in #1681 - Increase the kMaxIterations limit by @andreas-abel in #1668
- Set -Wno-unused-variable for tests by @oontvoo in #1682
- Add no-unititialized-variable to tests by @dmah42 in #1683
- Add Python 3.12 support by @nicholasjng in #1676
- Change nanobind linkage to response file approach on macOS by @nicholasjng in #1638
- Reapply size optimizations for clang & MSVC, LTO for Mac+Linux by @nicholasjng in #1685
- [bindings] Add LTO builds on Windows+MSVC by @nicholasjng in #1687
- Add pre-commit config and GitHub Actions job by @nicholasjng in #1688
- Replace isort hook with ruff builtin import sorting by @nicholasjng in #1689
- Add
setuptools_scm
for dynamic zero-config Python versioning by @nicholasjng in #1690 - Fix unit tests compilation by non-gnu/msvc compilers with c++11 support. by @ivafanas in #1691
- Fixed compiler warnings by @tmiguelf in #1697
- Switch out black for ruff format by @nicholasjng in #1698
- Add Missing
\n
at the End of Error Log String by @itzmeanjan in #1700 - Fix CMakeLists.txt for perf_counters_test by @illbegood in #1701
- [CI] Fix sanitizer builds by pinning the LLVM revision by @LebedevRI in #1703
- Support windows MSYS2 environments by @LebedevRI in #1704
- Fix
pre-commit
GitHub Actions job by @nicholasjng in #1708 - [NFC]
complexity_n
is not ofIterationCount
type by @LebedevRI in #1709 - Fix editable install by unsetting
build_ext.copy_extensions_to_source
by @nicholasjng in #1710 - Upgrade core bazel dependencies by @nicholasjng in #1711
- Run
pre-commit autoupdate
, fix stale pyproject.toml comments by @nicholasjng in #1712 - Check out repo at depth 0 for Python tests, bump Python and PyPI actions by @nicholasjng in #1713
- Fix mis-matching argument in closing tag for cmake macro (#1714) by @iakovs in #1715
- define HOST_NAME_MAX for z/OS by @abhina-sree in #1717
- Fix division by zero for low frequency timers for CV statistics by @ivafanas in #1724
- Remove the use of "Sanity" and replace it with "Safety" by @hamptonm1 in #1728
- CycleClock: use RDTIME instead of RDCYCLE on RISC-V by @aurel32 in #1727
- Enable Large-file Support by @oToToT in #1726
- Fix per-thread timing error on z/OS by @abhina-sree in #1719
- Avoid leaking LFS flags to reverse dependencies by @afq984 in #1730
- Change Fixture to use non-const SetUp and TearDown in example by @FantasqueX in #1723
- fix: fail to import gbench in bazel and python3.12 by @dhmemi in #1721
- Issue1731 created console does not receive output by @bstordrup in #1732
- tools/compare: don't actually discard valid (but zero)
pvalue
by @LebedevRI in #1733 - Issue 1734: Streams not flushed if not running actual benchmarks by @bstordrup in #1735
- fix(cmakelists.txt): enforce CMake to find PFM or fail when BENCHMARK⦠by @ananta in #1705
- Docs:
reducing_variance.md
: proofreading, fix typos by @LebedevRI in #1736 - Fix C-style typecasting in QNX-specific code by @Arech in #1739
- Bump pre-commit dependencies by @nicholasjng in #1740
- Output library / schema versions in JSON context block by @LebedevRI in #1742
- set library version in bazel by @dmah42 in #1746
- Add
BENCHMARK_TEMPLATE[12]_CAPTURE
, fusion ofBENCHMARK_CAPTURE
andBENCHMARK_TEMPLATE
by @LebedevRI in #1747 - Deflake CI by @LebedevRI in #1751
- Fix typo in GetBenchmarkVersion() by @Liedtke in #1755
- CycleClock: Add support for Alpha architecture by @thesamesam in #1753
- sysinfo.cc: Always abort on GetNumCPUs failure by @thesamesam in #1756
- Rewrite complexity_test to use (hardcoded) manual time by @LebedevRI in #1757
- Revert "fix some warnings" by @LebedevRI in #1762
- Fixed LTO issue on no discard variable by @tmiguelf in #1761
- mitigate clang build warnings -Wconversion by @dmah42 in #1763
- Add Python bindings build using bzlmod by @nicholasjng in #1764
- Fix implicit conversion changes signess warning in perf_counters.cc by @ivafanas in #1765
- clang-tidy broke the world by @LebedevRI in #1766
- allow BENCHMARK_VERSION to be undefined by @PhilipDeegan in #1769
- fix OpenBSD build by @vazub in #1772
- Remove COMPILER_IBMXL macro for z/OS by @fanbo-meng in #1777
- Refactor: Return frequency as double by @dhairyarungta in #1782
- Add
benchmark_main.pc
to linkmain()
containing library by @SoapGentoo in #1779 - Switch git override to stable BCR tag for nanobind_bazel by @nicholasjng in #1778
- Modernize wheel building job config by @nicholasjng in #1783
- preparing for v1.8.4 by @dmah42 in #1788
New Contributors
- @Maetveis made their first contribution in #1669
- @andreas-abel made their first contribution in #1662
- @mosfet80 made their first contribution in #1671
- @zm1060 made their first contribution in #1681
- @ivafanas made their first contribution in #1691
- @tmiguelf made their first contribution in #1697
- @itzmeanjan made their first contribution in #1700
- @illbegood made their first contribution in #1701
- @iakovs made their first contribution in #1715
- @aurel32 made their first contribution in #1727
- @oToToT made their first contribution in #1726
- @afq984 made their first contribution in #1730
- @FantasqueX made their first contribution in #1723
- @dhmemi made their first contribution in #1721
- @bstordrup made their first contribution in #1732
- @ananta made their first contribution in #1705
- @Arech made their first contribution in #1739
- @Liedtke made their first contribution in #1755
- @thesamesam made their first contribution in #1753
- @vazub made their first contribution in #1772
- @dhairyarungta made their first contribution in #1782
- @SoapGentoo made their first contribution in #1779
Full Changelog: v1.8.3...v1.8.4
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