1. 13 May, 2019 1 commit
    • Frank Winklmeier's avatar
      Counter-based timer class · 9be9bb98
      Frank Winklmeier authored and Marco Clemencic's avatar Marco Clemencic committed
      Implement a `Gaudi::Timer` class that accumulates its statistics in a
      `Counter`:
      - `GenericTimer` is a generic timer that can be templated with a
        `std::chrono`-compatible clock and a precision. A timing measurement
        is done via the RAII helper class `ScopeTimer`.
      - The Timer can register itself with an owner using the dedicated
        constructor.
      - `RdtscClock` is a (non-walltime) clock based on `rdtsc`. Depending on
        the available CPU this can be significantly faster than the default
        clock. Run the `test_GaudiTimer` unit tests for a measurement of the
        overhead of the various clocks.
      - `Gaudi/Timers.h` provides a default `Gaudi::Timer` based on wall-clock and
        `Gaudi::FastTimer` based on the `RdtscClock`.
      9be9bb98
  2. 28 Apr, 2019 1 commit
  3. 16 Apr, 2019 4 commits
  4. 11 Apr, 2019 1 commit
  5. 04 Apr, 2019 1 commit
  6. 29 Mar, 2019 1 commit
  7. 19 Mar, 2019 1 commit
  8. 12 Mar, 2019 3 commits
    • Frank Winklmeier's avatar
      Avoid extending the `std` namespace · 4a7f643f
      Frank Winklmeier authored
      - Add new `Gaudi/Chrono/Counters.h` header file that is supposed to be
        included when duration-base Counters are needed.
      - Allow specialization of `sqrt` within the `Gaudi::Accumulators`
        namespace for custom types via ADL.
      - Only define `std::chrono::duration` stream operator for <=C++17.
      4a7f643f
    • Frank Winklmeier's avatar
      Make Counters work with std::chrono::duration · d45147d1
      Frank Winklmeier authored
      Add helpers to stream and calculate with std::chrono::duration objects.
      This makes them directly usable with Gaudi::Accumulators. Add unit test
      case.
      d45147d1
    • Frank Winklmeier's avatar
      Counters: Add additional type casts to ensure type match · b89c0396
      Frank Winklmeier authored
      For some arithmetic types (i.e. std::chrono::duration) we need to ensure
      that the result of an arithmetic operation is the same type as `Result`
      as they don't necessarily convert into each other. E.g. the result of
      `std::chrono::seconds(10) / 10ul` is of type
      `std::chrono::duration<unsigned long, ...>` which does not implicitly
      convert to the default type `std::chrono::duration<long, ...>`.
      b89c0396
  9. 08 Mar, 2019 1 commit
    • Stefan Roiser's avatar
      fix compiler fallthrough warnings in · 07e77818
      Stefan Roiser authored
      GaudiKernel/GaudiKernel/StreamBuffer.h:569
      GaudiKernel/src/Lib/EventSelectorDataStream.cpp:81
      RootCnv/src/RootNTupleCnv.cpp:540
      
      by adding the [[fallthrough]] attribute (available since C++17)
      07e77818
  10. 06 Mar, 2019 1 commit
  11. 14 Feb, 2019 8 commits
  12. 06 Feb, 2019 2 commits
  13. 04 Feb, 2019 3 commits
  14. 01 Feb, 2019 3 commits
  15. 29 Jan, 2019 1 commit
  16. 28 Jan, 2019 1 commit
  17. 27 Jan, 2019 1 commit
  18. 18 Jan, 2019 6 commits