- 13 May, 2019 2 commits
-
-
Roman Lebedev authored
Found in -UNDEBUG build
-
Roman Lebedev authored
This is a shameless rip-off of https://github.com/google/benchmark/pull/646 I did promise to look into why that proposed PR was producing so much worse assembly, and so i finally did. The reason is - that diff changes `size_t` (unsigned) to `int64_t` (signed). There is this nice little `assert`: https://github.com/google/benchmark/blob/7a1c37028359ca9d386d719a6ad527743cf1b753/include/benchmark/benchmark.h#L744 It ensures that we didn't magically decide to advance our iterator when we should have finished benchmarking. When `cached_` was unsigned, the `assert` was `cached_ UGT 0`. But we only ever get to that `assert` if `cached_ NE 0`, and naturally if `cached_` is not `0`, then it is bigger than `0`, so the `assert` is tautological, and gets folded away. But now that `cached_` became signed, the assert became `cached_ SGT 0`. And we still only know that `cached_ NE 0`, so the assert can't be optimized out, or at least it doesn't currently. Regardless of whether or not that is a bug in itself, that particular diff would have regressed the normal 64-bit systems, by halving the maximal iteration space (since we go from unsigned counter to signed one, of the same bit-width), which seems like a bug. And just so it happens, fixing *this* bug, fixes the other bug. This produces fully (bit-by-bit) identical state_assembly_test.s The filecheck change is actually needed regardless of this patch, else this test does not pass for me even without this diff.
-
- 11 May, 2019 1 commit
-
-
Roman Lebedev authored
This may or may not have gotten broken now that benchmark was marked as CXX-only.
-
- 10 May, 2019 1 commit
-
-
Michał Janiszewski authored
This will make CMake skip all the checks for C compiler.
-
- 09 May, 2019 1 commit
-
-
Michał Janiszewski authored
Android doesn't support `getloadavg`
-
- 07 May, 2019 1 commit
-
-
Roman Lebedev authored
Weird, but seems consistent with the rest of cmake here.
-
- 01 May, 2019 3 commits
-
-
Shuo Chen authored
This allows a project to include both googletest and benchmark as top-level git submodule. This allows incorporating Benchmark to an existing CMake project that already incorporates googletest. https://github.com/google/googletest/blob/master/googletest/README.md#incorporating-into-an-existing-cmake-project https://github.com/abseil/abseil-cpp/tree/master/CMake#incorporating-abseil-into-a-cmake-project
-
Lockywolf authored
* Add support for GNU Install Dirs from GNU Coding Standards * src/CMakeLists.txt: Added support for setting the standard variables, such as CMAKE_INSTALL_BINDIR. * Replace install destinations by the ones from GNU Coding Standards. * Set the default .cmake and .pc default path. -
Dominic Hamon authored
-
- 30 Apr, 2019 4 commits
-
-
Roman Lebedev authored
Very interesting, i was completely not expecting to see that cmake failure from https://github.com/google/benchmark/pull/801 *here*. This reverts commit 7da47d03.
-
Roman Lebedev authored
Generally we can't just add -m32 in the middle of the build. It currently just happens to work, but that is not guaranteed.
-
Roman Lebedev authored
It was looking in `"<...>/googlebenchmark/build/third_party/googletest"`, with these extra `"` quotes, and wasn't finding anything..
-
Roman Lebedev authored
https://github.com/google/benchmark/pull/801 is stuck with some cryptic cmake failure due to some linking issue between googletest and threading libraries. I suspect that is mostly happening because of the, uhm, intentionally extremely twisted-in-the-brains approach that is being used to actually build the library as part of the buiild, except without actually building it as part of the build. If we do actually build it as part of the build, then all the transitive dependencies should magically be in order, and maybe everything will just work. This new version of cmake magic was written by me in https://github.com/darktable-org/rawspeed/blob/0e22f085c57cd629983c7351c598abd744b421b5/cmake/Modules/GoogleTest.cmake.in https://github.com/darktable-org/rawspeed/blob/0e22f085c57cd629983c7351c598abd744b421b5/cmake/Modules/GoogleTest.cmake, based on the official googletest docs and LOTS of experimentation.
-
- 25 Apr, 2019 1 commit
-
-
astee authored
* Update and organize README * Update AUTHORS and CONTRIBUTORS Fixes #803.
-
- 19 Apr, 2019 1 commit
-
-
Michael Tesch authored
* escape special chars in csv and json output. - escape \b,\f,\n,\r,\t,\," from strings before dumping them to json or csv. - also faithfully reproduce the sign of nan in json. this fixes github issue #745. * functionalize. * split string escape functions between csv and json * Update src/csv_reporter.cc Co-Authored-By:
tesch1 <tesch1@gmail.com> * Update src/json_reporter.cc Co-Authored-By:
tesch1 <tesch1@gmail.com>
-
- 17 Apr, 2019 1 commit
-
-
Dominic Hamon authored
Increase coverage
-
- 11 Apr, 2019 2 commits
-
-
Hannes Hauswedell authored
* fix master branch on *BSD * add name to CONTRIBUTORS
-
Jusufadis Bakamovic authored
* Refactor U-Test calculation into separate function. And implement 'print_utest' functionality in terms of it. * Change 'optimal_repetitions' to 'more_optimal_repetitions'.
-
- 09 Apr, 2019 2 commits
-
-
Dominic Hamon authored
-
Bryan Lunt authored
* Google Benchmark now works with OpenMP and other user-managed threading.
-
- 08 Apr, 2019 1 commit
-
-
Roman Lebedev authored
-
- 05 Apr, 2019 1 commit
-
-
Joseph Loser authored
Summary: - When google benchmark is used as a submodule in a parent projects whose min CMake version is 3.3.2 or later, the google benchmark `CMakeLists.txt` triggers a warning regarding CMake policy 0063: ``` CMake Warning (dev) at tests/googlebenchmark/src/CMakeLists.txt:19 (add_library): Policy CMP0063 is not set: Honor visibility properties for all target types. Run "cmake --help-policy CMP0063" for policy details. Use the cmake_policy command to set the policy and suppress this warning. Target "benchmark" of type "STATIC_LIBRARY" has the following visibility properties set for CXX: CXX_VISIBILITY_PRESET VISIBILITY_INLINES_HIDDEN For compatibility CMake is not honoring them for this target. This warning is for project developers. Use -Wno-dev to suppress it. ``` - Set CMake Policy 0063 to NEW if the policy is available. This will not affect parent projects who include benchmark but do not have a CMake min version of 3.3.2 or later, i.e. when this policy is introduced.
-
- 28 Mar, 2019 2 commits
-
-
Dominic Hamon authored
-
Dominic Hamon authored
-
- 26 Mar, 2019 2 commits
-
-
Daniel Harvey authored
* Add FIXME in multiple_ranges_test.cc * Improve handling of large bounds in AddRange. Due to breaking the loop too early, AddRange would miss a final multplier of 'mult' that was within the numeric range of T. * Enable negative values for Range argument Fixes #762. * Try to fix build of benchmark_gtest * Try some more to fix build * Attempt to fix format macros * Attempt to resolve format errors for mingw32 * Review feedback Put unit tests in benchmark::internal namespace Fix error reporting in multiple_ranges_test.cc
-
BaaMeow authored
* [JSON] add threads and repetitions to the json output, for better ide… [Tests] explicitly check for thread == 1 [Tests] specifically mark all repetition checks [JSON] add repetition_index reporting, but only for non-aggregates (i… * [Formatting] Be very, very explicit about pointer alignment so clang-format can not put pointers/references on the wrong side of arguments. [Benchmark::Run] Make sure to use explanatory sentinel variable rather than a magic number. * Do not pass redundant information
-
- 19 Mar, 2019 1 commit
-
-
Michael Tesch authored
-
- 17 Mar, 2019 2 commits
-
-
Roman Lebedev authored
It broke because the libc++ is being built as part of *this* build, with old gcc+libstdc++ (4.8?), but LLVM is preparing to switch to C++14, and gcc+libstdc++ <5 are soft-deprecated. Just the gcc update doesn't cut it, clang still uses old libstdc++.
-
Daniel Harvey authored
Created BenchmarkName class which holds the full benchmark name and allows specifying and retrieving different components of the name (e.g. ARGS, THREADS etc.) Fixes #730.
-
- 06 Mar, 2019 2 commits
-
-
Roman Lebedev authored
Refs #779.
-
Roman Lebedev authored
Run into this by accident while writing benchmark to validate the fix for https://bugs.llvm.org/show_bug.cgi?id=40965 Fixes #779.
-
- 28 Feb, 2019 1 commit
-
-
Jilin Zhou authored
- On qnx platform, cpu and cache info is stored in a syspage struct which is different from other OS platform. - The fix has been verified on an aarch64 target running qnx 7.0. Fixes #774
-
- 19 Feb, 2019 2 commits
-
-
Jilin Zhou authored
Since googletest already supports x-compilation for QNX, it is nice to have google benchmark support it too. Fixes #766
-
Wes McKinney authored
-
- 04 Feb, 2019 1 commit
-
-
Roman Lebedev authored
-
- 01 Feb, 2019 1 commit
-
-
Daniel Kraft authored
Since pthread is required at least for GCC (according to the documentation), this should be reflected by the pkg-config file. The same is, for instance, also done by the gflags library: https://github.com/gflags/gflags/blob/1005485222e8b0feff822c5723ddcaa5abadc01a/cmake/package.pc.in#L13
-
- 15 Jan, 2019 1 commit
-
-
Dominic Hamon authored
-
- 13 Jan, 2019 1 commit
-
-
Andriy Berestovskyy authored
Commit 17a012d7 added a newline to the str, so the line built from str.length() is one character longer than it should be.
-
- 03 Jan, 2019 1 commit
-
-
Michael "Croydon" Keck authored
-
- 30 Dec, 2018 1 commit
-
-
Reid Kleckner authored
If this policy isn't set, CMake emits a large warning when project() is called from a cmake subdirectory. This came up when the benchmark library was added to the LLVM build, and it was reported in https://llvm.org/PR38874. This patch was the fix I applied locally to fix the issue, and I wanted to send it upstream.
-