1. 04 Jun, 2014 5 commits
  2. 05 May, 2014 6 commits
    • Merge pull request #23 from ckennelly/clock_initialization · e5a43199
      Dominic Hamon authored
      Resolve race on approx_time_ in FastClock.
    • Merge pull request #22 from ckennelly/mutex_initialization · 46507cb2
      Dominic Hamon authored
      Statically initialize benchmark_mutex and extend its lifetime.
    • Merge pull request #21 from ckennelly/issue20 · 276bda99
      Dominic Hamon authored
      Resolve benchmark cleanup race condition in issue #20.
    • Resolve race on approx_time_ in FastClock. · 2c9b29c9
      Chris Kennelly authored
      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.
    • Statically initialize benchmark_mutex and extend its lifetime. · 77106c1f
      Chris Kennelly authored
      RunSpecifiedBenchmarks destroys benchmark_mutex before its last usage,
      typically in RemoveBenchmark during cleanup of the BenchmarkFamilies singleton.
    • Resolve benchmark cleanup race condition in issue #20. · 54e18b89
      Chris Kennelly authored
      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.
  3. 23 Apr, 2014 9 commits
  4. 17 Apr, 2014 4 commits
  5. 08 Apr, 2014 1 commit
  6. 07 Apr, 2014 1 commit
  7. 06 Apr, 2014 2 commits
  8. 20 Mar, 2014 1 commit
  9. 19 Mar, 2014 1 commit
  10. 18 Mar, 2014 1 commit
    • Fix cycleclock.h for gcc/ARM. · a7c57939
      Felix Homann authored
      Currently there are tests for ARMV3 and ARMV6 in cycleclock.h which are not
      defined using gcc on ARM. Since there is also a cast to the unknown type
      int64 I assume that the ARM code has not been tested. Therefore this patch
      replaces the checks for ARMV3 and ARMV6 by checks for __ARM_ARCH. Also, the
      cast to int64 is fixed by casting to int64_t.
  11. 23 Feb, 2014 2 commits
  12. 13 Feb, 2014 1 commit
  13. 12 Feb, 2014 4 commits
  14. 10 Feb, 2014 2 commits