Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2 #1300

Open
wants to merge 338 commits into
base: v2
Choose a base branch
from
Open

V2 #1300

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
338 commits
Select commit Hold shift + click to select a range
aad33aa
[Tooling] Rewrite generate_difference_report(). (#678)
LebedevRI Sep 19, 2018
eb8cbec
appveyor ci: drop Visual Studio 12 2013 - unsupported by Google Test …
LebedevRI Sep 26, 2018
edc77a3
Make State constructor private. (#650)
dominichamon Sep 28, 2018
d8c0f27
Fix possible loss of data warnings in MSVC. (#694)
pwnall Oct 1, 2018
a8082de
[NFC] Refactor RunBenchmark() (#690)
LebedevRI Oct 1, 2018
9ffb8df
Fix Clang Detection (#697)
Lord-Kamina Oct 5, 2018
8503dfe
benchmark_color: fix auto option (#559) (#699)
iillyyaa Oct 8, 2018
6097523
Fix SOURCE_DIR in HandleGTest.cmake (#703)
olzhabay Oct 13, 2018
8356d64
Revert "Fix SOURCE_DIR in HandleGTest.cmake (#703)" (#704)
EricWF Oct 13, 2018
d731697
Fix SOURCE_DIR in HandleGTest.cmake (#705)
olzhabay Oct 13, 2018
9cacec8
[NFC] RunBenchmarks(): s/has_repetitions/might_have_aggregates/ (#707)
LebedevRI Oct 18, 2018
99d1356
[NFC] BenchmarkRunner: always populate *_report_aggregates_only bools…
LebedevRI Oct 18, 2018
507c06e
Aggregates: use non-aggregate count as iteration count. (#706)
LebedevRI Oct 18, 2018
c6193af
Fix parsing of cpuinfo for s390 platform. (#712)
gladk Oct 21, 2018
a9b31c5
Disable exceptions in Microsoft STL (#715)
kirillbobyrev Nov 2, 2018
bb15a4e
Ensure all informational cmake messages have STATUS type
dmah42 Nov 13, 2018
b5082bb
Merge branch 'report_loadavg' of https://github.com/atdt/benchmark in…
dmah42 Nov 13, 2018
b171791
Merge branch 'atdt-report_loadavg'
dmah42 Nov 13, 2018
56f5cd6
Fix C++17 mode compilation with Apple clang (#721)
traceon Nov 22, 2018
c9311a4
README.md: BM_Sequential(): the return type is 'void'
LebedevRI Nov 26, 2018
c9f2693
StrFormat() is a printf-like function, mark it as such, fix fallout. …
LebedevRI Nov 27, 2018
19f7d5c
README.md: complexity lambda takes int64_t arg. Fixes #719
LebedevRI Nov 28, 2018
eafa34a
Remove use of std::tmpnam. (#734)
EricWF Nov 30, 2018
eee8b05
[tools] Run autopep8 and apply fixes found. (#739)
JBakamovic Dec 7, 2018
5cb8f8a
Fix signed vs unsigned comparisons in string_util unit tests (#742)
Sigill Dec 10, 2018
1f3cba0
Update reference to complexity calculation (#723)
ulvgard Dec 10, 2018
47a5f77
#722 Adding Host Name in Reporting (#733)
jatinx Dec 11, 2018
0ed529a
Update documentation of benchmark_filter (#744)
dominichamon Dec 13, 2018
57bf879
README.md: document State::{Pause,Resume}Timing()
LebedevRI Dec 13, 2018
4528c76
Print at least three significant digits for times. (#701)
EricWF Dec 14, 2018
dc10645
Set CMP0048 policy before project() to silence warnings (#750)
rnk Dec 30, 2018
eec9a8e
Add minimal Conan support (#728)
Croydon Jan 3, 2019
4b9f43e
Fix header lines length (#752)
berestovskyy Jan 13, 2019
785e2c3
Move Statistics struct to internal namespace (#753)
dominichamon Jan 15, 2019
97393e5
Add -lpthread to pkg-config Libs.private. (#755)
domob1812 Feb 1, 2019
b8ca0c4
README.md: mention that fixture has SetUp() / TearDown()
LebedevRI Feb 4, 2019
7c57133
Prefer -pthread to -lpthread for better compatibility when cross-comp…
wesm Feb 19, 2019
0ae233a
[#766] add x-compile support for QNX SDP7 (#770)
jilinzhou Feb 19, 2019
d205ead
[#774] implement GetNumCPUs(), GetCPUCyclesPerSecond(), and GetCacheS…
jilinzhou Feb 28, 2019
f62c63b
[Tooling] report.py: don't crash on BigO/RMS benchmarks
LebedevRI Mar 6, 2019
df7c7ee
[Tooling] report.py: whoops, don't ignore the rest of benches after a…
LebedevRI Mar 6, 2019
f6e9686
BENCHMARK_CAPTURE() and Complexity() - naming problem (#761)
danielharvey458 Mar 17, 2019
5acb0f0
Travis-ci: fix clang+libc++ build (#783)
LebedevRI Mar 17, 2019
fae8726
Replace JSON inf and nan with JS compliant Infinity and NaN
tesch1 Mar 19, 2019
478eafa
[JSON] add threads and repetitions to the json output (#748)
Mar 26, 2019
e366656
Negative ranges #762 (#787)
danielharvey458 Mar 26, 2019
64dcec3
Set theme jekyll-theme-midnight
dominichamon Mar 28, 2019
6a5c379
Set theme jekyll-theme-midnight
dominichamon Mar 28, 2019
3bc802e
Silence CMake Policy 0063 warning (#790)
JoeLoser Apr 5, 2019
30bd6ea
Fix .clang-format
LebedevRI Apr 8, 2019
7a1c370
Add process_time for better OpenMP and user-managed thread timing
bryan-lunt Apr 9, 2019
c5b2fe9
Load http_archive for bazel build
dominichamon Apr 9, 2019
56fd56d
Refactor U-Test calculation into separate function. (#740)
JBakamovic Apr 11, 2019
415835e
fix master branch on *BSD (#792)
h-2 Apr 11, 2019
1d41de8
Add command line flags tests (#793)
dominichamon Apr 17, 2019
588be04
escape special chars in csv and json output. (#802)
tesch1 Apr 19, 2019
05d8c1c
Improve README (#804)
alexsteele Apr 25, 2019
4b77194
CMake: codedrop of googletest cmake magic from me (#809)
LebedevRI Apr 30, 2019
727a81a
CMake: avoid incorrect extra "" around the GOOGLETEST_PATH.
LebedevRI Apr 30, 2019
7da47d0
Travis-ci: more correctly pass -m32 to 32-bit jobs
LebedevRI Apr 16, 2019
94115f4
Revert "Travis-ci: more correctly pass -m32 to 32-bit jobs"
LebedevRI Apr 30, 2019
13b8bdc
Bump required cmake version from 2.x to 3.x (#801)
dominichamon May 1, 2019
823d246
Add support for GNU Install Dirs from GNU Coding Standards. Fixes #80…
May 1, 2019
7d856b0
If gtest targets are already defined, use them. (#777)
chenshuo May 1, 2019
33d4404
Don't read CMAKE_BUILD_TYPE if it is not there (#811)
LebedevRI May 7, 2019
b988639
Fix compilation for Android (#816)
janisozaur May 9, 2019
12c978c
Mark CMake project as C++-only (#681)
janisozaur May 10, 2019
2e7203a
CMake: check CMAKE_CXX_COMPILER_ID, not CMAKE_C_COMPILER_ID
LebedevRI May 11, 2019
f92903c
Iteration counts should be `uint64_t` globally. (#817)
LebedevRI May 13, 2019
090faec
Use IterationCount in one more place
LebedevRI May 13, 2019
04a9343
Make some functions const (#832)
orgads Jun 26, 2019
4abdfbb
Add RISC-V support in cycleclock::Now (#833)
lenary Jul 5, 2019
df4f9fe
docs: fix typo (#837)
Jason-Cooke Jul 17, 2019
8e48105
CMake; windows: link to lowercase 'shlwapi' - consistent with headers…
LebedevRI Jul 22, 2019
32a1e39
Bugfix/wsl selftest fixes. Fixes #839 (#843)
EricBackus Jul 27, 2019
ff7e2d4
README.md: Spelling fix (#845)
froexilize Jul 29, 2019
66482d5
README.md: corrected cmake commands (#846)
blackliner Jul 29, 2019
140db8a
fix typo in README (#844)
tabokie Jul 30, 2019
140fc22
Corrected the installation procedure (#849)
LesnyRumcajs Aug 6, 2019
c408461
Disable deprecated warnings when touching CSVReporter internally.
EricWF Aug 7, 2019
7d97a05
Custom user counters: add invert modifier. (#850)
LebedevRI Aug 12, 2019
3523f11
Update README.md: fix MS VS version requirement
LebedevRI Aug 21, 2019
ffadb65
Documentation of basic use of DenseRange. (#855)
aerosayan Aug 21, 2019
67853d3
Add .gitignore rule to ignore temporary .swp backup files created by …
aerosayan Aug 21, 2019
7ee7286
Remove unused `doc` argument from `DEFINE_` macros. (#857)
aerosayan Aug 21, 2019
ef7d51c
Allow setting GOOGLETEST_PATH cmake argument. Fixes #867 (#868)
ambitslix Sep 15, 2019
bf4f2ea
Addresses issue #634. (#866)
sharpe5 Sep 16, 2019
d2fc7fe
Guard ASSERT_THROWS checks with BENCHMARK_HAS_NO_EXCEPTIONS (#874)
GMNGeoffrey Sep 20, 2019
e7e3d97
Add missing parenthesis to code sample, and fix spacing. (#877)
cbraley Sep 21, 2019
7411874
Define HOST_NAME_MAX for NaCl and RTEMS (#876)
GMNGeoffrey Sep 23, 2019
b874e72
Guard definition of __STDC_FORMAT_MACROS in ifndef (#875)
GMNGeoffrey Sep 23, 2019
b8bce0c
fixed the param order in g++ command and fixed the path for -L (#879)
tangpeic Sep 27, 2019
f4f5dba
Cache RUN_${FEATURE} variable in CXXFeatureCheck.cmake (#886)
KyleFromKitware Oct 4, 2019
309de59
Switch to Starlark for C++ rules. (#887)
junyer Oct 8, 2019
bc200ed
Read options from environment (#881) (#883)
t-chaik Oct 23, 2019
d16ae64
Set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (#889)
KyleFromKitware Oct 23, 2019
cf446a1
Remove superfluous cache line scaling in JSON reporter. (#896)
leanil Oct 24, 2019
c50ac68
CMake: use full add_test(NAME <> COMMAND <>) signature (#901)
gjasny Nov 5, 2019
173aff8
src/counter.h: add header guard
LebedevRI Nov 22, 2019
74e112a
mingw.py: check for None via 'is', not '=='.
LebedevRI Nov 22, 2019
cc7f50e
BenchmarkRunner: use std::lround() to round double to int
LebedevRI Nov 22, 2019
c22c266
JSONReporter: RoundDouble(): use std::lround() to round double to int
LebedevRI Nov 22, 2019
51d991f
ParseCommandLineFlags(): do not dereference argc if it is null
LebedevRI Nov 22, 2019
a8b3693
Merge pull request #905 from LebedevRI/misc-cleanup
LebedevRI Nov 22, 2019
49aa79b
update header guard to match style
dominichamon Nov 25, 2019
daf276f
Document environment variables options usage (#894)
t-chaik Dec 1, 2019
318d071
README.md: a few adjustments after #894
LebedevRI Dec 1, 2019
3671194
CPU caches are binary units, not SI. (#911)
LebedevRI Dec 2, 2019
0811f1d
Fix typo in mutex.h (#917)
tetsuok Dec 15, 2019
5ce2429
Add d postfix to Debug libraries (#923)
pixxon Jan 5, 2020
daff5fe
Alias CMake Targets. Fixes #921 (#926)
jwillikers Jan 14, 2020
5ac80de
Disable pedantic warnings and errors until googletest/gmock is fixed
dmah42 Jan 30, 2020
e5ea03c
Fix cxx03 standard selection, option override in CMake 3.13+. Fixes #…
alexreinking Jan 31, 2020
8982e1e
Fix MSVC warning. (#935)
ben-clayton Feb 7, 2020
168604d
[docs] Use `benchmark::IterationCount` rather than `int64_t` in lambd…
NAThompson Feb 18, 2020
c078337
Relax CHECK condition in benchmark_runner.cc (#938)
chfast Feb 21, 2020
8e0b191
Update issue templates
dominichamon Feb 25, 2020
70d89ac
Revert "Add d postfix to Debug libraries (#923)"
LebedevRI Mar 16, 2020
e30cac6
Revert "Add d postfix to Debug libraries (#923)" (#947)
LebedevRI Mar 16, 2020
b23d355
Fix Travis-ci builds (#950)
koct9i Mar 30, 2020
0ab2c29
Fix type conversion warnings. (#951)
dominichamon Apr 6, 2020
a77d5f7
Fix cycleclock::Now for RISC-V and PPC (#955)
luismarques Apr 10, 2020
8cead00
Remove warnings for internal use of CSVReporter (#956)
KeithMoyer Apr 14, 2020
ecc1685
Fix formatting issues introduced by a77d5f7 (#959)
luismarques Apr 17, 2020
56898e9
Add missing <cerrno> header include - fixes Android build (#960)
NewProggie Apr 23, 2020
d3ad0b9
Add Python bindings. (#957)
chr1sj0nes May 6, 2020
9284e90
Drop unused mingw.py (#966)
cclauss May 26, 2020
6746c65
Expose `SkipWithError` in Python bindings. (#968)
chr1sj0nes May 28, 2020
4e88f58
move releasing doc to docs
dmah42 Jun 5, 2020
b63da7b
Ignore python bindings build artifacts
dmah42 Jun 8, 2020
74b4612
Add absl dependency as needed
dmah42 Jun 8, 2020
22e55e1
Add some simple docs for installing the Python bindings from source. …
chr1sj0nes Jun 8, 2020
4ecb5f3
Merge branch 'master' of github.com:google/benchmark
dmah42 Jun 8, 2020
8039b40
Upgrade bazel from 0.10.1 to 3.2.0 (#976)
dominichamon Jun 9, 2020
99c52f1
use rfc3339-formatted timestamps in output [output format change] (#965)
brianwolfe Jun 15, 2020
f6ac240
timers: silence format overflow warning
brianwolfe Jun 15, 2020
f25ea40
timers: use snprintf instead of sprintf
brianwolfe Jun 15, 2020
7cc06ef
timers: just make the buffers big enough
brianwolfe Jun 15, 2020
76efbcd
Merge pull request #980 from brianwolfe/wolfe-fix-overflow-warning
dominichamon Jun 16, 2020
15e6dfd
timers: silence strncat truncation warning (#984)
wrpaape Jun 17, 2020
39b6e70
adds a "--no-color" flag to the compare.py script (#990)
ottojo Jun 25, 2020
8f5e6ae
Add requirements.txt for python dependencies (#994)
ottojo Jun 29, 2020
7f27afe
Expose methods for custom main functions in Python. (#993)
skye Jun 30, 2020
39c8d58
Rename python bindings package to `google_benchmark`. (#999)
chr1sj0nes Jul 9, 2020
37177a8
Fix python extension import (#1000)
chr1sj0nes Jul 9, 2020
9901011
JSONReporter: don't report on scaling if we didn't get it (#1005) (#1…
Turim Jul 28, 2020
1302d2c
Add missing breaks for QNX cache counting (#1012)
dominichamon Jul 30, 2020
4986d0b
Create build-and-test.yml (#1013)
dominichamon Aug 18, 2020
5b72b6c
Remove "BENCHMARK_" prefix from env var version of command line flags…
dominichamon Aug 18, 2020
bb978c0
Update build instructions to better use CMake (#1017)
adambadura Aug 19, 2020
5c25ad3
Ctest support (#1025)
dominichamon Aug 21, 2020
4857962
Add CartesianProduct with associated test (#1029)
chriswasser Aug 25, 2020
01c0ab7
Fix Clang builds on Windows (#1021)
jeremyong Aug 27, 2020
4475ff6
Adds -lm linker flag for FreeBSD/OpenBSD and uses github.com/bazelbui…
yesudeep Aug 28, 2020
4751550
Revert previous linker additions for FreeBSD as the problem is Bazel …
yesudeep Sep 3, 2020
beb360d
Create pylint.yml (#1039)
dominichamon Sep 9, 2020
12e85b2
Bind more State methods/attributes to Python (#1037)
AntoinePrv Sep 10, 2020
df9e294
Add workflow to exercise bindings (#1041)
dominichamon Sep 10, 2020
73d4d5e
Bind benchmark builder to Python (#1040)
AntoinePrv Sep 11, 2020
7efada2
Fixed pkg-config on other than Ubuntu GNU/Linux distributions. (#1043)
xvitaly Sep 12, 2020
949f5bb
Add support for JSON dumps of benchmark diff reports. (#1042). Fixes …
JBakamovic Sep 21, 2020
2d9bfe1
Include github workflows status in README
dominichamon Sep 28, 2020
ffe1342
Add CycleTimer implementation for M68K architecture (#1050)
mshockwave Sep 29, 2020
af72911
Add support for DragonFly BSD (#1058)
mneumann Oct 12, 2020
3d1c267
src/benchmark_register.h: add missing <limits> inclusion (#1060)
Oct 15, 2020
dce3322
Add support for z/OS XL compiler inline asm syntax (#1063)
fanbo-meng Oct 21, 2020
a9704c2
Nanosleep workaround for z/OS in sleep.cc (#1067)
abhina-sree Oct 29, 2020
d9abf01
Rename 'mftbl' to 'mftb' (#1069)
steven-wan-yu Nov 3, 2020
348aa2c
bazel support for tools (#982)
al-tu Nov 6, 2020
37ced31
Added support for macro expansion in benchmark names (#1054)
emmenlau Nov 19, 2020
7fa6f1f
Disable lto-type-mismatch warnings (#1071)
dominichamon Nov 23, 2020
17a6b21
Fix Range when starting at zero (#1073)
cottsay Nov 26, 2020
bf585a2
Fix some bazel warnings about missing sha256 on http_archives
dmah42 Nov 26, 2020
378ed8f
Add 'seconds' time unit (#1076)
feserr Dec 21, 2020
d8254bb
Add bazel target for benchmark_release (#1078)
aidanwolter3 Dec 22, 2020
a6d08ae
Create workflow to exercise bazel build (#1079)
dominichamon Dec 22, 2020
8df87f6
Revert "Add bazel target for benchmark_release (#1078)" (#1081)
Yannic Jan 5, 2021
ea5a5bb
Add MSVC ARM64 support for reading clocks (#1052)
janisozaur Feb 12, 2021
d90321f
- add support for Elbrus 2000 (e2k) (#1091)
SSE4 Feb 14, 2021
a9b9471
Fix typo in invalid file name error message. (#1094)
phoenix-meadowlark Feb 22, 2021
5c43112
Update 'Output Files' section to reflect csv support. (#1095)
phoenix-meadowlark Feb 22, 2021
4c26070
disable bazel for now (#1101)
dominichamon Mar 5, 2021
50c9eb5
Removing conanfile (and support) per #1088 (#1099)
dominichamon Mar 5, 2021
cc9abfc
Fix URL to googletest primer (#1102)
bugwelle Mar 8, 2021
5e387e7
Implement custom benchmark name (#1107)
toschmidt Mar 30, 2021
b8084e5
fix minor typo
dominichamon Apr 9, 2021
5a77a6d
fix minor typo
dominichamon Apr 9, 2021
f1deaf1
fix minor typo (though this is an external property)
dominichamon Apr 9, 2021
07578d8
Shrink the tz_offset size to 41. (#1110)
clalancette Apr 9, 2021
39b5a29
Improve BENCHMARK_UNUSED definition (#1111)
dominichamon Apr 12, 2021
2dad9ae
Re-enable bazel without bazelisk and with scoped build/test targets (…
dominichamon Apr 19, 2021
0882a74
Add bazel status to README
dominichamon Apr 19, 2021
69054ae
Use fewer ramp up repetitions when KeepRunningBatch is used (#1113)
matta Apr 20, 2021
c05843a
[sysinfo] Fix CPU Frequency reading on AMD Ryzen CPU's (#1117)
LebedevRI Apr 23, 2021
362c2ab
[tools] Don't forget to print UTest when printing aggregates only
LebedevRI Apr 24, 2021
058fb58
[tools] Fix dumb mistake in previous commit - print aggregates only m…
LebedevRI Apr 24, 2021
d882be1
fix cmake issue with referencing a non-existing function argument (#1…
germasch Apr 26, 2021
86da5ec
Add verbosity to CI logs (#1122)
dominichamon Apr 26, 2021
264976d
Fix windows warning on type conversion (#1121)
dominichamon Apr 27, 2021
835951a
Be compliant and return 0 from main.
dmah42 Apr 27, 2021
376ebc2
Support optional, user-directed collection of performance counters (#…
mtrofin Apr 28, 2021
64cb55e
enable markdown rendering on github pages
dominichamon Apr 28, 2021
ba9a763
Add multiple compiler support to build-and-test workflow (#1128)
dominichamon Apr 30, 2021
33c133a
Add `benchmark_context` flag that allows per-run custom context. (#1127)
dominichamon May 4, 2021
d0c227c
Add API to benchmark allowing for custom context to be added (#1137)
dominichamon May 5, 2021
e50b572
cmake: Add explicit BENCHMARK_ENABLE_LIBPFM option (#1141)
chfast May 6, 2021
e0826ed
Fix StrSplit empty string case (#1142)
mtrofin May 6, 2021
a2e8a8a
Clean -Wreserved-identifier instances (#1143)
LebedevRI May 6, 2021
a53b885
Add ubuntu-14.04 build and test workflow (#1131)
dominichamon May 7, 2021
17948a7
Add MSVC ARM64 support to cmake (#1090)
janisozaur May 7, 2021
551a21b
add g++-6 to ubuntu-14.04 (#1144)
dominichamon May 7, 2021
0852c79
remove done TODOs
dominichamon May 7, 2021
1f47b6b
Remove travis configs that are covered by actions (#1145)
dominichamon May 10, 2021
3b508fa
Refactor `BenchmarkInstance` (#1148)
dominichamon May 10, 2021
7d0d906
Support -Wsuggest-override (#1059)
gchatelet May 11, 2021
e539e80
[PFM] Extend perf counter support to multi-threaded cases. (#1153)
mtrofin May 19, 2021
c983c3e
remove appveyor and add libera.chat as IRC resource
dominichamon May 20, 2021
a6a738c
Implementation of random interleaving. (#1105)
haihuang-google May 20, 2021
a4bcd93
fix version recorded in releases (#1047)
germasch May 20, 2021
db2de74
Fix pedantic compilation flag violation (#1156)
unitatem May 21, 2021
0e1255a
Removing freenode from README
dominichamon May 28, 2021
bc5651e
bump version to v1.5.4
dmah42 May 30, 2021
09a87e3
Set theme jekyll-theme-hacker
dominichamon May 30, 2021
604112c
Run build-and-test on all branches
dominichamon Jun 1, 2021
f10b9c0
Un-disable github actions :]
LebedevRI Jun 1, 2021
4ff7349
Run build-and-test on all branches
dominichamon Jun 1, 2021
6f094ba
Fix perf counter argument parsing (#1160)
0xfeedface Jun 1, 2021
e025dd5
Revert "Implementation of random interleaving. (#1105)" (#1161)
dominichamon Jun 1, 2021
a54ef37
Ensure that we print repetition count even when it was specified via …
LebedevRI Jun 2, 2021
e0a080d
BenchmarkFamilies::FindBenchmarks(): correctly use std::vector<>::res…
LebedevRI Jun 2, 2021
4c2e32f
Introduce "family index" field into JSON output (#1164)
LebedevRI Jun 2, 2021
80a6261
Introduce per-family instance index (#1165)
LebedevRI Jun 2, 2021
0c1da0a
Make 'complexity reports' cache per-family, not global (#1166)
LebedevRI Jun 3, 2021
6e32352
compare.py: sort the results (#1168)
LebedevRI Jun 3, 2021
520573f
[NFCI] RunBenchmarks(): extract FlushStreams()/Report() functions
LebedevRI Jun 3, 2021
32cc607
[NFCI] Make BenchmarkRunner non-internal to it's .cpp file
LebedevRI Jun 3, 2021
d17ea66
Fix leak in test, and provide path to remove leak from library (#1169)
dominichamon Jun 3, 2021
fbc3140
Random interleaving of benchmark repetitions - the sequel (fixes #105…
LebedevRI Jun 3, 2021
bdd6c44
Enable various sanitizer builds in github actions (#1167)
dominichamon Jun 3, 2021
3424091
Use modern clang/libc++ for sanitizers (#1171)
dominichamon Jun 4, 2021
f90215f
Add support for new architecture loongarch (#1173)
huajingyun01 Jun 8, 2021
e991355
[NFCI] Drop warning to satisfy clang's -Wunused-but-set-variable diag…
LebedevRI Jun 9, 2021
5b75184
benchmark_runner.h: Remove superfluous semi colon (#1178)
mlippautz Jun 15, 2021
c932169
Provide helpers to create integer lists for the given ranges. (#1179)
PCMan Jun 16, 2021
62937f9
Add missing trailing commas (#1182)
dominichamon Jun 18, 2021
5da5660
Move flags inside the `benchmark` namespace (#1185)
dominichamon Jun 24, 2021
6a5bf08
prefix macros to avoid clashes (#1186)
dominichamon Jun 24, 2021
42a3457
prefix VLOG
dmah42 Jun 24, 2021
4ef12fa
Merge remote-tracking branch 'upstream/v2'
Dec 6, 2021
c1bf4d6
Merge remote-tracking branch 'upstream/vlog_macro' into v2
Dec 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Language: Cpp
BasedOnStyle: Google
PointerAlignment: Left
...

24 changes: 24 additions & 0 deletions .github/.libcxx-setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/usr/bin/env bash

# Checkout LLVM sources
git clone --depth=1 https://github.com/llvm/llvm-project.git llvm-project

# Setup libc++ options
if [ -z "$BUILD_32_BITS" ]; then
export BUILD_32_BITS=OFF && echo disabling 32 bit build
fi

# Build and install libc++ (Use unstable ABI for better sanitizer coverage)
cd ./llvm-project
cmake -DCMAKE_C_COMPILER=${C_COMPILER} \
-DCMAKE_CXX_COMPILER=${COMPILER} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DLIBCXX_ABI_UNSTABLE=OFF \
-DLLVM_USE_SANITIZER=${LIBCXX_SANITIZER} \
-DLLVM_BUILD_32_BITS=${BUILD_32_BITS} \
-DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi' \
-S llvm -B llvm-build -G "Unix Makefiles"
make -C llvm-build -j3 cxx cxxabi
sudo make -C llvm-build install-cxx install-cxxabi
cd ..
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG]"
labels: ''
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**System**
Which OS, compiler, and compiler version are you using:
- OS:
- Compiler and version:

**To reproduce**
Steps to reproduce the behavior:
1. sync to commit ...
2. cmake/bazel...
3. make ...
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: "[FR]"
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
30 changes: 30 additions & 0 deletions .github/workflows/bazel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: bazel

on:
push: {}
pull_request: {}

jobs:
build-and-test:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

- name: mount bazel cache
uses: actions/cache@v2.0.0
env:
cache-name: bazel-cache
with:
path: "~/.cache/bazel"
key: ${{ env.cache-name }}-${{ runner.os }}-${{ github.ref }}
restore-keys: |
${{ env.cache-name }}-${{ runner.os }}-main

- name: build
run: |
bazel build //:benchmark //:benchmark_main //test/...

- name: test
run: |
bazel test --test_output=all //test/...
44 changes: 44 additions & 0 deletions .github/workflows/build-and-test-perfcounters.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: build-and-test-perfcounters

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
job:
# TODO(dominic): Extend this to include compiler and set through env: CC/CXX.
name: ${{ matrix.os }}.${{ matrix.build_type }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-16.04, ubuntu-20.04]
build_type: ['Release', 'Debug']
steps:
- uses: actions/checkout@v2

- name: install libpfm
run: sudo apt install libpfm4-dev

- name: create build environment
run: cmake -E make_directory ${{ runner.workspace }}/_build

- name: configure cmake
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: cmake -DBENCHMARK_ENABLE_LIBPFM=1 -DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- name: build
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: cmake --build . --config ${{ matrix.build_type }}

# Skip testing, for now. It seems perf_event_open does not succeed on the
# hosting machine, very likely a permissions issue.
# TODO(mtrofin): Enable test.
# - name: test
# shell: bash
# working-directory: ${{ runner.workspace }}/_build
# run: sudo ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure
110 changes: 110 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: build-and-test

on:
push: {}
pull_request: {}

jobs:
# TODO: add 32-bit builds (g++ and clang++) for ubuntu
# (requires g++-multilib and libc6:i386)
# TODO: add coverage build (requires lcov)
# TODO: add clang + libc++ builds for ubuntu
# TODO: add clang + ubsan/asan/msan + libc++ builds for ubuntu
job:
name: ${{ matrix.os }}.${{ matrix.build_type }}.${{ matrix.compiler }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-16.04, ubuntu-20.04, macos-latest]
build_type: ['Release', 'Debug']
compiler: [g++, clang++]
include:
- displayTargetName: windows-latest-release
os: windows-latest
build_type: 'Release'
- displayTargetName: windows-latest-debug
os: windows-latest
build_type: 'Debug'
steps:
- uses: actions/checkout@v2

- name: create build environment
run: cmake -E make_directory ${{ runner.workspace }}/_build

- name: configure cmake
env:
CXX: ${{ matrix.compiler }}
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: >
cmake $GITHUB_WORKSPACE
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- name: build
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: cmake --build . --config ${{ matrix.build_type }}

- name: test
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: ctest -C ${{ matrix.build_type }} -VV

ubuntu-14_04:
name: ubuntu-14.04.${{ matrix.build_type }}.${{ matrix.compiler }}
runs-on: [ubuntu-latest]
strategy:
fail-fast: false
matrix:
build_type: ['Release', 'Debug']
compiler: [g++-4.8, clang++-3.6]
include:
- compiler: g++-6
build_type: 'Debug'
run_tests: true
- compiler: g++-6
build_type: 'Release'
run_tests: true
container: ubuntu:14.04
steps:
- uses: actions/checkout@v2

- name: install required bits
run: |
sudo apt update
sudo apt -y install clang-3.6 cmake3 g++-4.8 git

- name: install other bits
if: ${{ matrix.compiler }} == g++-6
run: |
sudo apt -y install software-properties-common
sudo add-apt-repository -y "ppa:ubuntu-toolchain-r/test"
sudo apt update
sudo apt -y install g++-6

- name: create build environment
run: cmake -E make_directory $GITHUB_WORKSPACE/_build

- name: configure cmake
env:
CXX: ${{ matrix.compiler }}
shell: bash
working-directory: ${{ github.workspace }}/_build
run: >
cmake $GITHUB_WORKSPACE
-DBENCHMARK_ENABLE_TESTING=${{ matrix.run_tests }}
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=${{ matrix.run_tests }}

- name: build
shell: bash
working-directory: ${{ github.workspace }}/_build
run: cmake --build . --config ${{ matrix.build_type }}

- name: test
if: ${{ matrix.run_tests }}
shell: bash
working-directory: ${{ github.workspace }}/_build
run: ctest -C ${{ matrix.build_type }} -VV
26 changes: 26 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: pylint

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
pylint:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint pylint-exit conan
- name: Run pylint
run: |
pylint `find . -name '*.py'|xargs` || pylint-exit $?
78 changes: 78 additions & 0 deletions .github/workflows/sanitizer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: sanitizer

on:
push: {}
pull_request: {}

env:
CC: clang
CXX: clang++
EXTRA_CXX_FLAGS: "-stdlib=libc++"
UBSAN_OPTIONS: "print_stacktrace=1"

jobs:
job:
name: ${{ matrix.sanitizer }}.${{ matrix.build_type }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
build_type: ['Debug', 'RelWithDebInfo']
sanitizer: ['asan', 'ubsan', 'tsan']
# TODO: add 'msan' above. currently failing and needs investigation.
steps:
- uses: actions/checkout@v2

- name: configure msan env
if: matrix.sanitizer == 'msan'
run: |
echo "EXTRA_FLAGS=-g -O2 -fno-omit-frame-pointer -fsanitize=memory -fsanitize-memory-track-origins" >> $GITHUB_ENV
echo "LIBCXX_SANITIZER=MemoryWithOrigins" >> $GITHUB_ENV

- name: configure ubsan env
if: matrix.sanitizer == 'ubsan'
run: |
echo "EXTRA_FLAGS=-g -O2 -fno-omit-frame-pointer -fsanitize=undefined -fno-sanitize-recover=all" >> $GITHUB_ENV
echo "LIBCXX_SANITIZER=Undefined" >> $GITHUB_ENV

- name: configure asan env
if: matrix.sanitizer == 'asan'
run: |
echo "EXTRA_FLAGS=-g -O2 -fno-omit-frame-pointer -fsanitize=address -fno-sanitize-recover=all" >> $GITHUB_ENV
echo "LIBCXX_SANITIZER=Address" >> $GITHUB_ENV

- name: configure tsan env
if: matrix.sanitizer == 'tsan'
run: |
echo "EXTRA_FLAGS=-g -O2 -fno-omit-frame-pointer -fsanitize=thread -fno-sanitize-recover=all" >> $GITHUB_ENV
echo "LIBCXX_SANITIZER=Thread" >> $GITHUB_ENV

- name: install llvm stuff
run: "${GITHUB_WORKSPACE}/.github/.libcxx-setup.sh"

- name: create build environment
run: cmake -E make_directory ${{ runner.workspace }}/_build

- name: configure cmake
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: >
cmake $GITHUB_WORKSPACE
-DBENCHMARK_ENABLE_ASSEMBLY_TESTS=OFF
-DBENCHMARK_ENABLE_LIBPFM=OFF
-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON
-DCMAKE_C_COMPILER=${{ env.CC }}
-DCMAKE_CXX_COMPILER=${{ env.CXX }}
-DCMAKE_C_FLAGS="${{ env.EXTRA_FLAGS }}"
-DCMAKE_CXX_FLAGS="${{ env.EXTRA_FLAGS }} ${{ env.EXTRA_CXX_FLAGS }}"
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- name: build
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: cmake --build . --config ${{ matrix.build_type }}

- name: test
shell: bash
working-directory: ${{ runner.workspace }}/_build
run: ctest -C ${{ matrix.build_type }} -VV
Loading