Matt Clarkson
6945096ba1
Add -Wshadow if supported
2014-08-04 10:01:44 +01:00
Matt Clarkson
e863292dcc
Detect compiler flags and append to default CMake flags
2014-08-04 10:01:44 +01:00
Dominic Hamon
4940eebf65
Merge pull request #42 from mattyclarkson/versioning
...
Implemented git versioning
2014-08-01 21:10:48 -07:00
Matt Clarkson
c927845d5a
get_git_version CMake function
2014-08-01 15:02:32 +01:00
Matt Clarkson
d591edf513
Implemented git versioning
...
This patch automatically versions the shared libraries from any annotated `git`
tags:
```
git tag -a v1.0.0
```
It expects semver version tags such as `v1.0.0`. It would be trivial to support
`1.0.0` but looking around it seems that most C/C++ projects follow `vX.X.X`
rather that `X.X.X` like a lot of `Node.js` stuff.
This determines that the if the project has had a certain amount of commits
since the last tag and also if the project is _dirty_ (has modified files), but
does __nothing__ with that information. In the future a more robust release
could be implemented in the script.
This is pretty brittle and has little in the way of configuration. Ideally we
should use `find_program` to work out where `git` is so that users can configure
it. This implementation assumes that `git` will be available in `PATH`
Outputs the following on the command line:
```
-- git Version: v[MAJOR].[MINOR].[PATCH]-[COMMITS_SINCE_TAG]-[SHA1](-dirty)?
-- Version: [MAJOR].[MINOR].[PATCH]
```
2014-08-01 09:20:28 +01:00
Dominic Hamon
890908c197
Merge pull request #39 from mattyclarkson/fixes
...
Allow shared libraries with BUILD_SHARED_LIBS
2014-07-30 10:15:55 -07:00
Matt Clarkson
57fdf38f74
Allow shared libraries with BUILD_SHARED_LIBS
2014-07-30 18:08:54 +01:00
Matt Clarkson
4fae2944c7
Added Matt Clarkson as a contributor
2014-07-30 18:06:52 +01:00
Matt Clarkson
ace6464b28
Made AUTHORS and CONTRIBUTES alphabetical
2014-07-30 18:06:52 +01:00
Dominic Hamon
20ac20ac77
Merge branch 'eddyxu-mac'
2014-07-27 15:48:03 -07:00
Dominic Hamon
b30603094a
Merge branch 'mac' of git://github.com/eddyxu/benchmark into eddyxu-mac
2014-07-27 15:47:25 -07:00
Dominic Hamon
2d835a0c82
Merge pull request #38 from eddyxu/authors
...
Add Lei Xu to AUTHORS and CONTRIBUTORS
2014-07-27 15:46:10 -07:00
Lei Xu
0b19192fb0
Add Lei Xu to AUTHORS and CONTRIBUTORS
2014-07-25 08:15:46 -07:00
Lei Xu
3460bf1aa6
Fixed compiling on Mac 10.9.3 with g++-4.8, clang or system c++
2014-07-24 23:57:09 -07:00
Dominic Hamon
f1e1ccafcc
Merge pull request #34 from predmond/master
...
fix examples to use SetBytesProcessed
2014-07-24 13:14:49 -07:00
Dominic Hamon
58e52ba386
Ignore stanza for ninja users
2014-07-23 19:32:37 -07:00
Paul Redmond
0ce150e1fc
fix examples to use SetBytesProcessed
...
- use State::SetBytesProcessed not SetBenchmarkBytesProcessed
2014-07-23 13:42:04 -04:00
Pierre Phaneuf
c7eb316e7e
Add @predmond to the AUTHORS and CONTRIBUTORS files.
2014-07-23 17:18:40 +01:00
Pierre Phaneuf
338eb89671
Ignore backup files.
2014-07-23 17:18:23 +01:00
Dominic Hamon
9f01575ffa
Merge pull request #33 from predmond/master
...
fix building on ubuntu
2014-07-23 09:01:16 -07:00
Paul Redmond
52b3004ae3
fix linker error by reordering link libraries
2014-07-23 10:35:42 -04:00
Paul Redmond
b33d1f1d39
fix signed/unsigned comparison warning
2014-07-23 10:35:12 -04:00
Dominic Hamon
6a6fc70cf0
Merge pull request #31 from pleroy/DestructionPure
...
Fix a bug in the destruction of BenchmarkFamilies.
2014-06-10 22:20:33 -07:00
pleroy
10dc155372
Fix a bug in the destruction of BenchmarkFamilies.
2014-06-09 13:31:51 +02:00
Dominic Hamon
35da167b9e
Merge pull request #28 from pleroy/PausePure
...
Take the CPU time into account in PauseTiming/ResumeTiming
2014-06-05 14:10:32 -07:00
pleroy
fe1b75b87e
Merge branch 'GoogleMaster' into PausePure
...
Conflicts:
src/benchmark.cc
2014-06-05 23:02:22 +02:00
Dominic Hamon
5c457b06c8
Merge pull request #25 from pleroy/StatsPure
...
Fix the stddev/mean computations
2014-06-04 14:48:23 -07:00
pleroy
bcf08705f5
Comment.
2014-06-04 23:17:09 +02:00
pleroy
640dd5a492
Less of a hack: avoid the division/multiplication if the stddev is 0.
2014-06-04 23:13:22 +02:00
pleroy
db4248e21e
Merge branch 'TwoBugs' into StatsPure
2014-06-04 22:51:29 +02:00
pleroy
e189ec0283
Print mean/stddev of the # of iterations.
2014-06-04 22:02:28 +02:00
Dominic Hamon
7c428e91b7
Merge pull request #27 from pleroy/TwoBugs
...
Two bug fixes in KeepRunning
2014-06-04 12:55:59 -07:00
pleroy
0d9a060f5b
Two bug fixes in KeepRunning.
2014-06-04 21:21:24 +02:00
pleroy
556002bec1
Adding myself to the contributors
2014-06-04 21:18:52 +02:00
Chris Kennelly
883413be84
Merge branch 'pphaneuf-gitignore'
2014-06-04 09:52:14 -05:00
Pierre Phaneuf
c96fb246b9
Add a few output files to .gitignore.
2014-06-04 15:34:58 +01:00
pleroy
ffcdc94c7b
Adding myself to the contributors
2014-05-29 17:32:04 +02:00
pleroy
ec1e09f939
Ignore the CPU time consumed when timing is paused.
...
Conflicts:
src/benchmark.cc
2014-05-29 16:01:11 +02:00
pleroy
291ff1faed
Fix the stddev/mean computations which had be garbled since commit e5f5a0d30e
, leading to a mean that was not in the min/max range and to zero-divide in the stddev computation, among others.
2014-05-29 15:25:24 +02:00
Dominic Hamon
e5a431998d
Merge pull request #23 from ckennelly/clock_initialization
...
Resolve race on approx_time_ in FastClock.
2014-05-05 10:03:11 -07:00
Dominic Hamon
46507cb276
Merge pull request #22 from ckennelly/mutex_initialization
...
Statically initialize benchmark_mutex and extend its lifetime.
2014-05-05 10:02:50 -07:00
Dominic Hamon
276bda99ac
Merge pull request #21 from ckennelly/issue20
...
Resolve benchmark cleanup race condition in issue #20 .
2014-05-05 10:02:33 -07:00
Chris Kennelly
2c9b29c9ff
Resolve race on approx_time_ in FastClock.
...
InitType should hold a lock before storing to approx_time_, which is later
read by the background worker. When the worker is actively running (i.e., not
blocked on bg_cond_) it holds bg_mutex_.
InitType is called during benchmark setup only, so any contention induced for
the mutex should not have performance/accuracy consequences.
2014-05-05 09:45:27 -07:00
Chris Kennelly
77106c1f68
Statically initialize benchmark_mutex and extend its lifetime.
...
RunSpecifiedBenchmarks destroys benchmark_mutex before its last usage,
typically in RemoveBenchmark during cleanup of the BenchmarkFamilies singleton.
2014-05-05 09:42:13 -07:00
Chris Kennelly
54e18b8992
Resolve benchmark cleanup race condition in issue #20 .
...
The multithreaded API for benchmarks provides that teardown can happen in
thread 0. For this to be safe, all other threads executing the benchmark
function need to have exited. Otherwise, thread 0 may begin to teardown shared
resources before the other threads have stopped using these resources as they
are in their last loop of while (KeepRunning()) { ... }.
This change creates a single exit point for KeepRunning() to return false.
When running a multithreaded benchmark, thread 0 blocks on KeepRunning() until
all other threads have exited. This approach allows for there to be no change
to the user-facing API exemplified in the BM_MultiThreaded example.
2014-05-05 09:38:08 -07:00
Dominic Hamon
efb9c302cc
Merge pull request #19 from ckennelly/googletest
...
Remove URL_HASH and TLS_VERIFY from CMake configuration.
2014-04-23 14:32:21 -07:00
Chris Kennelly
92cd2e82af
Remove URL_HASH and TLS_VERIFY from CMake configuration.
...
Per the CMake 2.8.0 documentation, these options did not exist for
ExternalProject_Add. These options were added in CMake 2.8.10.
2014-04-23 14:23:20 -07:00
Dominic Hamon
8b34026908
Merge pull request #18 from ckennelly/googletest
...
Resolve Memory Leaks #17
2014-04-23 13:46:44 -07:00
Chris Kennelly
9f27edbb16
Resolve memory leak from benchmark instances in google/benchmark#17 .
...
This shifts registration from a global vector to a singleton that manages
benchmark destruction during shutdown.
2014-04-23 01:17:47 -07:00
Chris Kennelly
fa908926c7
Partially resolve google/benchmark#17 by fixing regular expression leak.
...
This adds a unit test to validate the wrapper without running the entirety of
benchmark_test.
2014-04-23 00:56:17 -07:00