- 29 Apr, 2017 4 commits
-
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
- Epsilon is now understood as relative to expected value. - Improve error messages for epsilon checks.
-
- 28 Apr, 2017 7 commits
-
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
This is needed for examining the values of user counters (needed for #348). It is also needed for checking the values of standard benchmark results like items_processed or complexities (for example, checking the standard deviation is needed for unit testing #357 as discussed in #362).
-
- 27 Apr, 2017 6 commits
-
-
Joao Paulo Magalhaes authored
The tests are still missing a way to check actual validity of numerical results; this will be done next. As they currently are, the tests pass, but the problem detected with #378 is still standing and the results with non-standard counters are wrong.
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
-
Joao Paulo Magalhaes authored
The problem was that the call to Finish() the user counters was lost in a big merge. If I had already written the tests for the user counters, this would probably have been catched earlier.
-
- 24 Apr, 2017 1 commit
-
-
Arkady Shapkin authored
-
- 21 Apr, 2017 1 commit
-
-
Dmitry Trifonov authored
-
- 18 Apr, 2017 4 commits
-
-
Dmitry Trifonov authored
* fix android compilation * checking __GLIBCXX__ and __GLIBCPP__ macro in addition to __ANDROID__ * using vsnprintf instead of std::vsnprintf to compile on Android * removed __GLIBCPP__ check on Android * StringPrintF instead of std::to_string for Android
-
Eric Fiselier authored
When using CPU time to determine the correct number of iterations the library additionally checks if the benchmark has consumed 5x the minimum required time according to the wall clock. This prevents benchmarks with low CPU usage from running for much longer than actually intended. However when a benchmark uses a manual timer this heuristic isn't helpful and likely isn't correct since we don't know what the manual timer actually measures. This patch removes the above restriction when a benchmark specifies a manual timer.
-
Eric authored
* Add Benchmark::Iterations for explicitly specifying the number of iterations to use. * Document that benchmark::Iterations should not be used to limit benchmark runtimes
-
Eric Fiselier authored
In non-debug builds CMake automatically adds -DNDEBUG, this means that uses of `assert` in the tests are disabled for non-debug builds. Obviously we want these tests to run, regardless of configuration. This patch strips -DNDEBUG during non-debug builds and adds -UNDEBUG just to be sure.
-
- 10 Apr, 2017 1 commit
-
-
Daniel Varga authored
Using CMAKE_SOURCE_DIR benchmark cannot be built as part of a project. This change allows to add benchmark using add_subdirectory to a bigger project.
-
- 06 Apr, 2017 1 commit
-
- 04 Apr, 2017 5 commits
-
-
jpmag authored
-
Dominic Hamon authored
-
Dominic Hamon authored
-
Giuseppe Roberti authored
-
- 02 Apr, 2017 1 commit
-
-
Giuseppe Roberti authored
- Remove target_include_directories of ${PROJECT_SOURCE_DIR}/include to fix error: Target "benchmark" INTERFACE_INCLUDE_DIRECTORIES property contains path which is prefixed in the source directory.
-
- 01 Apr, 2017 1 commit
-
-
Joao Paulo Magalhaes authored
-
- 29 Mar, 2017 1 commit
-
-
Ray Glover authored
* [tools] python 2/3 support * update authors/contributors
-
- 28 Mar, 2017 4 commits
-
-
Eric authored
* Add BENCHMARK_BUILD_32_BITS option and add builders to test it * Attempt to fix travis configuration * Make add_required_cxx_compiler_flag cause an error when the flag isn't supported * add gcc-multilib dependancy on travis * attempt to fix travis.yml parsing error * Require g++-multilib instead of gcc-multilib * Add 32 bit release configurations * Attempt to fix libc++ travis build w/ 32 bits * Work around CMake configuration failure on Travis
-
MVafin authored
* Fix reading CPU info from file Macro CHECK do nothing for release mode, meaning it doesn't invoke the arguments * Add myself to AUTHORS and CONTRIBUTORS
-
Eric authored
Previously the constants used for converting between different units of time were declared using int64_t. However we should only use explicitly sized integer types when they are required, and should use 'int' everwhere else, and there is no good reason to use int64_t here. For that reason this patch changes the type of the constants. This should help address issue #354 as well.
-
rolandschulz authored
fixes #354 The build fails with ICC17 because of warnings and Werror. What is the correct solution to fix it? Should a patch disable Werror for ICC (or maybe all non known compilers) disable the false postive warnings for all files. This could be done using: add_cxx_compiler_flag(-wd2102) #ICC17u2: Many false positives for Wstrict-aliasing add_cxx_compiler_flag(-wd2259) #ICC17u2: non-pointer conversion from "long" to "int" may lose significant bits (even for explicit static cast, sleep.cc(44)) add_cxx_compiler_flag(-wd654) #ICC17u2: overloaded virtual function "benchmark::Fixture::SetUp" is only partially overridden (because of deprecated overload) disable warnings at file level or some other granularity
-
- 14 Mar, 2017 1 commit
-
-
Yasushi Saito authored
-
- 11 Mar, 2017 2 commits
-
-
Eric authored
I recently learned Windows provides a function called _ReadWriteBarrier which is literally ClobberMemory under a different name. This patch uses it to implement ClobberMemory under MSVC.
-
Eric Fiselier authored
Previously benchmark_api.h wasn't allowed to include standard library headers. For this reason SetLabel had a hack to accept std::string without including <string>. The hack worked by attempting to detect the injected class name `basic_string`. However Clang has changed it's behavior regarding injected class names so this hack no longer works. This patch removes the hack and replaces it with a function that actually names std::string. However we still cannot pass std::string across the dylib boundary because of libstdc++'s dual C++11 ABI.
-