1. 06 Mar, 2019 2 commits
  2. 28 Feb, 2019 1 commit
  3. 19 Feb, 2019 2 commits
  4. 04 Feb, 2019 1 commit
  5. 01 Feb, 2019 1 commit
  6. 15 Jan, 2019 1 commit
  7. 13 Jan, 2019 1 commit
  8. 03 Jan, 2019 1 commit
  9. 30 Dec, 2018 1 commit
  10. 14 Dec, 2018 1 commit
    • Print at least three significant digits for times. (#701) · 4528c76b
      Eric authored
      Some benchmarks are particularly sensitive and they run in less than
      a nanosecond. In order for the console reporter to provide meaningful
      output for such benchmarks it needs to be able to display the times
      using more resolution than a single nanosecond.
      
      This patch changes the console reporter to print at least three
      significant digits for all results.
      
      Unlike the initial attempt, this patch does not align the decimal point.
  11. 13 Dec, 2018 2 commits
  12. 11 Dec, 2018 1 commit
    • #722 Adding Host Name in Reporting (#733) · 47a5f77d
      Jatin Chaudhary authored
      * Adding Host Name and test
      
      * Addressing Review Comments
      
      * Adding Test for JSON Reporter
      
      * Adding HOST_NAME_MAX for MacOS systems
      
      * Adding Explaination for MacOS HOST_NAME_MAX Addition
      
      * Addressing Peer Review Comments
      
      * Adding codecvt in windows header guard
      
      * Changing name SystemInfo and adding empty message incase host name fetch fails
      
      * Adding Comment on Struct SystemInfo
  13. 10 Dec, 2018 2 commits
  14. 07 Dec, 2018 1 commit
  15. 30 Nov, 2018 1 commit
    • Remove use of std::tmpnam. (#734) · eafa34a5
      Eric authored
      std::tmpnam is deprecated and its use is discouraged. For our purposes
      in the tests, we really just need a file name which is unlikely to
      exist.
      
      This patch converts the tests to using a dummy random file name
      generator, which should hopefully avoid name conflicts.
  16. 28 Nov, 2018 1 commit
  17. 27 Nov, 2018 1 commit
  18. 26 Nov, 2018 1 commit
  19. 22 Nov, 2018 1 commit
  20. 13 Nov, 2018 3 commits
  21. 02 Nov, 2018 1 commit
  22. 21 Oct, 2018 1 commit
  23. 18 Oct, 2018 3 commits
    • Aggregates: use non-aggregate count as iteration count. (#706) · 507c06e6
      Roman Lebedev authored
      It is incorrect to say that an aggregate is computed over
      run's iterations, because those iterations already got averaged.
      Similarly, if there are N repetitions with 1 iterations each,
      an aggregate will be computed over N measurements, not 1.
      Thus it is best to simply use the count of separate reports.
      
      Fixes #586.
    • [NFC] BenchmarkRunner: always populate *_report_aggregates_only bools. (#708) · 99d1356c
      Roman Lebedev authored
      It is better to let the RunBenchmarks(), report() decide
      whether to actually *only* output aggregates or not,
      depending on whether there are actually aggregates.
      
      It's subtle indeed.
      
      Previously, `BenchmarkRunner()` always said that "if there are no repetitions,
      then you should never output only the repetitions". And the `report()` simply assumed
      that the `report_aggregates_only` bool it received makes sense, and simply used it.
      
      Now, the logic is the same, but the blame has shifted.
      `BenchmarkRunner()` always propagates what those benchmarks would have wanted
      to happen wrt the aggregates. And the `report()` lambda has to actually consider
      both the `report_aggregates_only` bool, and it's meaningfulness.
      
      To put it in the context of the patch series - if the repetition count was `1`,
      but `*_report_aggregates_only` was set to `true`, and we capture each iteration separately,
      then we will compute the aggregates, but then output everything, both the iteration,
      and aggregates, despite `*_report_aggregates_only` being set to `true`.
    • [NFC] RunBenchmarks(): s/has_repetitions/might_have_aggregates/ (#707) · 9cacec8e
      Roman Lebedev authored
      That is the real purpose of that bool. A follow-up change will
      make it consider something else other than repetitions.
  24. 13 Oct, 2018 3 commits
  25. 08 Oct, 2018 1 commit
    • benchmark_color: fix auto option (#559) (#699) · 8503dfe5
      Ilya A. Kriveshko authored
      As prevously written, "--benchmark_color=auto" was treated as true,
      because IsTruthyFlagValue("auto") returned true.  The fix is to
      rely on IsColorTerminal test only if the flag value is "auto",
      and fall back to IsTruthyFlagValue otherwise.  I also integrated
      force_no_color check into the same block.
  26. 05 Oct, 2018 1 commit
    • Fix Clang Detection (#697) · 9ffb8df6
      Gregorio Litenstein authored
      For several versions now, CMake by default refers to macOS’ Clang as AppleClang instead of just Clang, which would fail STREQUAL. Fixed by changing it to MATCHES.
  27. 01 Oct, 2018 2 commits
    • [NFC] Refactor RunBenchmark() (#690) · a8082de5
      Roman Lebedev authored
      Ok, so, i'm still trying to get to the state when it will be a trivial change to report all the separate iterations.
      The old code (LHS of the diff) was rather convoluted i'd say.
      I have tried to refactor it a bit into *small* logical chunks, with proper comments.
      As far as i can tell, i preserved the intent of the code, what it was doing before.
      The road forward still isn't clear, but i'm quite sure it's not with the old code :)
  28. 28 Sep, 2018 1 commit
    • Make State constructor private. (#650) · edc77a36
      Dominic Hamon authored
      The State constructor should not be part of the public API. Adding a
      utility method to BenchmarkInstance allows us to avoid leaking the
      RunInThread method into the public API.
  29. 26 Sep, 2018 1 commit