Skip to content
Snippets Groups Projects
  1. Nov 08, 2016
  2. Nov 04, 2016
  3. Nov 02, 2016
    • Benedikt Hegner's avatar
      make IHiveWhiteBoard::getNumberOfStores() const · 92567c2b
      Benedikt Hegner authored
      See merge request !229
      92567c2b
    • Benedikt Hegner's avatar
      Add support for Handle const assignment from non const instances · 6d4d4389
      Benedikt Hegner authored
      Add support for copy assigning or constructing
      `XYZHandle<const T>` from a `XYZHandle<T>`. 
      
      Extended the test `MyGaudiAlg.py` test for this feature
      and `ToolHandle<const T>` support in general.
      
      Developed due to the discussion in gaudi/Gaudi!215
      
      See merge request !226
      6d4d4389
    • Benedikt Hegner's avatar
      Add a non const get() accessor to GaudiHandle · 88e33f06
      Benedikt Hegner authored
      To fix an issue with Atlas in gaudi/Gaudi!215
      
      See merge request !225
      88e33f06
    • Benedikt Hegner's avatar
      More efficient Toolhandle<T>::get() method · 61952b5b
      Benedikt Hegner authored
      I would like to use ToolHandle more, but I also want to use it optimally efficiently, by which I mean I want inline access to the underlying tool pointer, with no validity checks (I always `retrieve()` my tools up front in initialize()) and true const behaviour (for thread safety). Essentially what I want is `GaudiHandle<T>::get()`, but unfortunately in the current implementation this method is hidden behind the virtual `ToolHandle<T>::get()` method, that also down casts the tool to `IAlgTool*` (so no use for direct usage).
      
      This MR fixes both these issues. get() is now fully optimal in `ToolHandle<T>` as it simply refers back to GaudiHandle in an inline method.
      
      The `BaseToolHandle<T>::get()` method is just a wrapper that calls a hidden (protected) virtual function (`getAsIAlgTool()`) that returns what get() previously did.
      
      I also tightened up the const'ness, providing both const and non-const methods that return const and non-const tool pointers respectively.
      
      I also updated a few methods to remove multiple return statements (which normally cause compilers to abort inlining) and adding some `noexcept` here and there..
      
      The only API change is that `ToolHandle<T>::get()` now returns `T*` instead of `IAlgTool*`, but this is not a problem as the user can still choose to use it as a `IAlgTool*` if they want..
      
      Gaudi master builds fine with this, not tested any other projects yet.
      
      cheers Chris
      
      See merge request !218
      61952b5b
    • Charles Leggett's avatar
      make getNumberOfStores const · c9538060
      Charles Leggett authored
      c9538060
  4. Nov 01, 2016
    • Charles Leggett's avatar
    • Frank Winklmeier's avatar
      Performance improvements for System::getProcessTime (now ~30% faster) · 360bb377
      Frank Winklmeier authored
      - Increase test coverage and add performance check to test_GaudiTiming
      - Remove unnecessary calls to getpid (saves ~10ns per query() call):
          - Remove getpid calls in case pid is -1 (self)
          - Remove ugly define that was hiding the getpid() calls in the source code
      - Switch from getrusage() to times() (saves ~100ns per call)
      - Only create ProcessHandle for Windows
      - Add templated version of currentTime() so it can be inlined
      - Allow System::getProcess to be inlined (move Windows code to constructor)
      - Remove private caches for query() calls as those were not used
      360bb377
  5. Oct 31, 2016
Loading