SNAP Library 2.1, User Reference  2013-09-25 10:47:25
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
TTmProfiler Class Reference

#include <tm.h>

List of all members.

Public Member Functions

 TTmProfiler ()
int AddTimer (const TStr &TimerNm)
int GetTimerId (const TStr &TimerNm) const
TStr GetTimerNm (const int &TimerId) const
int GetTimers () const
int GetTimerIdFFirst () const
bool GetTimerIdFNext (int &TimerId) const
void StartTimer (const TStr &TimerNm)
void StartTimer (const int &TimerId)
void StopTimer (const TStr &TimerNm)
void StopTimer (const int &TimerId)
void ResetAll ()
void ResetTimer (const TStr &TimerNm)
void ResetTimer (const int &TimerId)
double GetTimerSumSec () const
double GetTimerSec (const int &TimerId) const
void PrintReport (const TStr &ProfileNm="") const

Static Public Member Functions

static PTmProfiler New ()

Private Attributes

TCRef CRef
TInt MxNmLen
THash< TStr, TTmStopWatchTimerH

Friends

class TPt< TTmProfiler >

Detailed Description

Definition at line 399 of file tm.h.


Constructor & Destructor Documentation

Definition at line 405 of file tm.h.

{ }

Member Function Documentation

int TTmProfiler::AddTimer ( const TStr TimerNm)

Definition at line 1267 of file tm.cpp.

                                             { 
        MxNmLen = TInt::GetMx(MxNmLen, TimerNm.Len());
        return TimerH.AddKey(TimerNm); 
}
int TTmProfiler::GetTimerId ( const TStr TimerNm) const [inline]

Definition at line 409 of file tm.h.

{ return TimerH.GetKeyId(TimerNm); }
int TTmProfiler::GetTimerIdFFirst ( ) const [inline]

Definition at line 412 of file tm.h.

{ return TimerH.FFirstKeyId(); }
bool TTmProfiler::GetTimerIdFNext ( int &  TimerId) const [inline]

Definition at line 413 of file tm.h.

{ return TimerH.FNextKeyId(TimerId); }
TStr TTmProfiler::GetTimerNm ( const int &  TimerId) const [inline]

Definition at line 410 of file tm.h.

{ return TimerH.GetKey(TimerId); }
int TTmProfiler::GetTimers ( ) const [inline]

Definition at line 411 of file tm.h.

{ return TimerH.Len(); }
double TTmProfiler::GetTimerSec ( const int &  TimerId) const

Definition at line 1288 of file tm.cpp.

                                                        {
    return TimerH[TimerId].GetSec();
}
double TTmProfiler::GetTimerSumSec ( ) const

Definition at line 1279 of file tm.cpp.

                                         {
        double Sum = 0.0;
    int TimerId = GetTimerIdFFirst();
        while (GetTimerIdFNext(TimerId)) {
                Sum += GetTimerSec(TimerId);
        }
    return Sum;
}
static PTmProfiler TTmProfiler::New ( ) [inline, static]

Definition at line 406 of file tm.h.

{ return new TTmProfiler; }
void TTmProfiler::PrintReport ( const TStr ProfileNm = "") const

Definition at line 1292 of file tm.cpp.

                                                         {
    const double TimerSumSec = GetTimerSumSec();
        printf("-- %s --\n", ProfileNm.CStr());
    printf("Sum: (%.2f sec):\n", TimerSumSec);
    int TimerId = GetTimerIdFFirst();
        while (GetTimerIdFNext(TimerId)) {
        // get timer name
        TStr TimerNm = GetTimerNm(TimerId);
        TimerNm = TStr::GetSpaceStr(TimerNm.Len() - MxNmLen) + TimerNm;
        // get timer time and precentage
        if (TimerSumSec > 0.0) {
            const double TimerSec = GetTimerSec(TimerId);
            const double TimerPerc =  TimerSec / TimerSumSec * 100.0;
            printf(" %s: %.2fs [%.2f%%]\n", TimerNm.CStr(), TimerSec, TimerPerc);
        } else {
            printf(" %s: -\n", TimerNm.CStr());
        }
    }
        printf("--\n");
}

Definition at line 1272 of file tm.cpp.

                           {
    int TimerId = GetTimerIdFFirst();
        while (GetTimerIdFNext(TimerId)) {
                ResetTimer(TimerId);
        }
}
void TTmProfiler::ResetTimer ( const TStr TimerNm) [inline]

Definition at line 422 of file tm.h.

{ TimerH.GetDat(TimerNm).Reset(false); }
void TTmProfiler::ResetTimer ( const int &  TimerId) [inline]

Definition at line 423 of file tm.h.

{ TimerH[TimerId].Reset(false); }
void TTmProfiler::StartTimer ( const TStr TimerNm) [inline]

Definition at line 415 of file tm.h.

{ TimerH.GetDat(TimerNm).Start(); }
void TTmProfiler::StartTimer ( const int &  TimerId) [inline]

Definition at line 416 of file tm.h.

{ TimerH[TimerId].Start(); }
void TTmProfiler::StopTimer ( const TStr TimerNm) [inline]

Definition at line 418 of file tm.h.

{ TimerH.GetDat(TimerNm).Stop(); }
void TTmProfiler::StopTimer ( const int &  TimerId) [inline]

Definition at line 419 of file tm.h.

{ TimerH[TimerId].Stop(); }

Friends And Related Function Documentation

friend class TPt< TTmProfiler > [friend]

Definition at line 399 of file tm.h.


Member Data Documentation

Definition at line 399 of file tm.h.

Definition at line 401 of file tm.h.

Definition at line 402 of file tm.h.


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