1. 19 Mar, 2019 1 commit
  2. 17 Mar, 2019 2 commits
    • Travis-ci: fix clang+libc++ build (#783) · 5acb0f05
      Roman Lebedev authored
      It broke because the libc++ is being built as part of *this*
      build, with old gcc+libstdc++ (4.8?), but LLVM is preparing
      to switch to C++14, and gcc+libstdc++ <5 are soft-deprecated.
      
      Just the gcc update doesn't cut it, clang still uses old libstdc++.
    • BENCHMARK_CAPTURE() and Complexity() - naming problem (#761) · f6e96861
      Daniel Harvey authored
      Created BenchmarkName class which holds the full benchmark
      name and allows specifying and retrieving different components
      of the name (e.g. ARGS, THREADS etc.)
      
      Fixes #730.
  3. 06 Mar, 2019 2 commits
  4. 28 Feb, 2019 1 commit
  5. 19 Feb, 2019 2 commits
  6. 04 Feb, 2019 1 commit
  7. 01 Feb, 2019 1 commit
  8. 15 Jan, 2019 1 commit
  9. 13 Jan, 2019 1 commit
  10. 03 Jan, 2019 1 commit
  11. 30 Dec, 2018 1 commit
  12. 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.
  13. 13 Dec, 2018 2 commits
  14. 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
  15. 10 Dec, 2018 2 commits
  16. 07 Dec, 2018 1 commit
  17. 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.
  18. 28 Nov, 2018 1 commit
  19. 27 Nov, 2018 1 commit
  20. 26 Nov, 2018 1 commit
  21. 22 Nov, 2018 1 commit
  22. 13 Nov, 2018 3 commits
  23. 02 Nov, 2018 1 commit
  24. 21 Oct, 2018 1 commit
  25. 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.
  26. 13 Oct, 2018 3 commits
  27. 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.
  28. 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.
  29. 01 Oct, 2018 1 commit
    • [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 :)