KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Classes | Public Types | Public Member Functions | List of all members
Kratos::Internals::Profiler< TTimeUnit > Class Template Reference

#include <profiler.h>

Collaboration diagram for Kratos::Internals::Profiler< TTimeUnit >:

Classes

class  Scope
 RAII wrapper for updating an Item. More...
 

Public Types

using ItemMap = std::unordered_map< CodeLocation, Item, SourceLocationHash, SourceLocationEquality >
 

Public Member Functions

 Profiler ()
 
 Profiler (Profiler &&rOther)=default
 
 Profiler (std::filesystem::path &&r_outputPath)
 
 ~Profiler ()
 
Profileroperator= (Profiler &&rOther)=default
 
Item & Create (CodeLocation &&rItem)
 
Scope Profile (Item &rItem)
 
ItemMap Aggregate () const
 Collect results from all threads into a single map. More...
 
void Write (std::ostream &rStream) const
 

Member Typedef Documentation

◆ ItemMap

template<class TTimeUnit >
using Kratos::Internals::Profiler< TTimeUnit >::ItemMap = std::unordered_map< CodeLocation, Item, SourceLocationHash, SourceLocationEquality >

Constructor & Destructor Documentation

◆ Profiler() [1/3]

template<class T >
Kratos::Internals::Profiler< T >::Profiler

◆ Profiler() [2/3]

template<class TTimeUnit >
Kratos::Internals::Profiler< TTimeUnit >::Profiler ( Profiler< TTimeUnit > &&  rOther)
default

◆ Profiler() [3/3]

template<class T >
Kratos::Internals::Profiler< T >::Profiler ( std::filesystem::path &&  r_outputPath)

◆ ~Profiler()

template<class T >
Kratos::Internals::Profiler< T >::~Profiler

Member Function Documentation

◆ Aggregate()

template<class T >
Profiler< T >::ItemMap Kratos::Internals::Profiler< T >::Aggregate

Collect results from all threads into a single map.

◆ Create()

template<class T >
Profiler< T >::Item & Kratos::Internals::Profiler< T >::Create ( CodeLocation &&  rItem)

◆ operator=()

template<class TTimeUnit >
Profiler& Kratos::Internals::Profiler< TTimeUnit >::operator= ( Profiler< TTimeUnit > &&  rOther)
default

◆ Profile()

template<class T >
Profiler< T >::Scope Kratos::Internals::Profiler< T >::Profile ( Item &  rItem)

◆ Write()

template<class T >
void Kratos::Internals::Profiler< T >::Write ( std::ostream &  rStream) const

The documentation for this class was generated from the following files: