Commit graph

12 commits

Author SHA1 Message Date
Eric Fiselier b07fee6b64 address review comments 2015-03-26 18:32:31 -04:00
Eric Fiselier d3e0671a87 finish selection of clock with debug information 2015-03-26 17:52:28 -04:00
Eric Fiselier 7a767012f1 Adopt new benchmark timing internals.
This patch adopts a new internal structure for how timings are performed.
Currently every iteration of a benchmark checks to see if it has been running
for an appropriate amount of time. Checking the clock introduces noise into
the timings and this can cause inconsistent output from each benchmark.

Now every iteration of a benchmark only checks an iteration count to see if it
should stop running. The iteration count is determined before hand by testing
the benchmark on a series of increasing iteration counts until a suitable count
is found. This increases the amount of time it takes to run the actual benchmarks
but it also greatly increases the accuracy of the results.

This patch introduces some breaking changes. The notable breaking changes are:
1. Benchmarks run on multiple threads no generate a report per thread. Instead
   only a single report is generated.
2. ::benchmark::UseRealTime() was removed and replaced with State::UseRealTime().
2015-03-12 18:03:33 -04:00
Eric Fiselier c5a362b4d3 Change std::regex detection test to detect bug in libstdc++.
libstdc++'s std::regex has (or had) a bug in std::regex::operator=(...) that
caused undefined behaviour. Clang will detect this and compile the function so
that it crashes at runtime. This patch tried to detect that bug during
configuration.
2015-03-06 12:05:19 -05:00
Chris Kennelly 8eac5dc328 Merge pull request #58 from google/zero_null
Fix #50 by using nullptr and adding stricter warning.
2014-10-18 15:33:40 -07:00
Dominic Hamon e6107a781c Fix #50 by using nullptr and adding stricter warning. 2014-10-11 15:52:50 -07:00
Dominic Hamon f98c5760fe Fix #54 by correcting reference to CXX flags for variants. 2014-10-11 15:13:00 -07:00
Matt Clarkson 9593e64076 Fixed the CMake add_cxx_compiler_flag function 2014-08-22 14:56:12 +01:00
Matt Clarkson edfa60a1d1 Resolve regular expression engines 2014-08-22 14:55:46 +01:00
Matt Clarkson 38c27c2cb3 Do not use CMake CONCAT
CONCAT was added quite late in the CMake release cycles so lets use `set()`
instead which has been around _forever_...
2014-08-15 11:09:22 +01:00
Matt Clarkson 6b1a6958c4 CMake function for adding compiler flags 2014-08-04 10:01:44 +01:00
Matt Clarkson c927845d5a get_git_version CMake function 2014-08-01 15:02:32 +01:00