# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

hierarchical_timer.h File Reference

Hierarchical timer. More...

#include <string>
#include <vector>
#include "nel/misc/types_nl.h"
#include "nel/misc/time_nl.h"
#include "nel/misc/debug.h"
#include <algorithm>

Go to the source code of this file.

Namespaces

namespace  NLMISC

Defines

#define ALLOW_TIMING_MEASURES
#define H_TIME(name, inst)
#define H_BEFORE(__name)   static NLMISC::CHTimer __name##_timer(#__name); __name##_timer.before();
#define H_AFTER(__name)   __name##_timer.after();
#define H_AUTO(__name)   static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimer __name##_auto(&__name##_timer);
#define H_AUTO_INST(__name)   static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimer __name##_auto(&__name##_timer, true);
#define H_AUTO_DECL(__name)   static NLMISC::CHTimer __name##_timer(#__name);
 H_AUTO splitted in 2. More...

#define H_AUTO_USE(__name)   NLMISC::CAutoTimer __name##_auto(&__name##_timer);


Detailed Description

Hierarchical timer.

Id:
hierarchical_timer.h,v 1.19 2002/08/21 09:36:01 lecroart Exp

Definition in file hierarchical_timer.h.


Define Documentation

#define ALLOW_TIMING_MEASURES
 

Definition at line 38 of file hierarchical_timer.h.

#define H_AFTER __name       __name##_timer.after();
 

Definition at line 52 of file hierarchical_timer.h.

Referenced by NL3D::CLandscapeRenderObs::traverse.

#define H_AUTO __name       static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimer __name##_auto(&__name##_timer);
 

Definition at line 54 of file hierarchical_timer.h.

Referenced by NL3D::CPlayListManagerUser::animate, NL3D::CLandscapeClipObs::clip, NL3D::CMeshBlockManager::flush, NL3D::CLandscape::refine, NL3D::CVegetableManager::render, NL3D::CVegetableBlendLayerModel::render, NL3D::CParticleSystemShape::render, NL3D::CMeshMRMGeom::render, NL3D::CMeshGeom::render, NL3D::CCoarseMeshManager::render, NL3D::CMeshGeom::renderSkin, NL3D::CSkeletonModelRenderObs::renderSkinList, NL3D::CWaterRenderObs::traverse, NL3D::CTransformShapeRenderObs::traverse, NL3D::CSkeletonModelRenderObs::traverse, NL3D::CRenderTrav::traverse, NL3D::CParticleSystemClipObs::traverse, NL3D::CLoadBalancingTrav::traverse, NL3D::CLightTrav::traverse, NL3D::CLandscapeRenderObs::traverse, NL3D::CHrcTrav::traverse, NL3D::CClipTrav::traverse, NL3D::CAnimDetailTrav::traverse, and NL3D::CMeshMRMGeom::updateRawSkinNormal.

#define H_AUTO_DECL __name       static NLMISC::CHTimer __name##_timer(#__name);
 

H_AUTO splitted in 2.

The declaration of the static timer, and a CAutoTimer instance. Usefull to group same timer bench in different functions for example

Definition at line 61 of file hierarchical_timer.h.

#define H_AUTO_INST __name       static NLMISC::CHTimer __name##_timer(#__name); NLMISC::CAutoTimer __name##_auto(&__name##_timer, true);
 

Definition at line 56 of file hierarchical_timer.h.

Referenced by NLMISC::CPath::addSearchPath.

#define H_AUTO_USE __name       NLMISC::CAutoTimer __name##_auto(&__name##_timer);
 

Definition at line 62 of file hierarchical_timer.h.

Referenced by NL3D::CCoarseMeshManager::addMesh, NL3D::CLodCharacterManager::addRenderCharacterKey, NL3D::CLodCharacterManager::beginRender, NL3D::CLodCharacterManager::endRender, NL3D::CCoarseMeshManager::removeMesh, NL3D::CMeshMRMGeom::renderSkin, NL3D::CMeshMRMGeom::renderSkinGroupGeom, NL3D::CMeshMRMGeom::renderSkinGroupPrimitives, NL3D::CCoarseMeshManager::setColorMesh, and NL3D::CCoarseMeshManager::setMatrixMesh.

#define H_BEFORE __name       static NLMISC::CHTimer __name##_timer(#__name); __name##_timer.before();
 

Definition at line 51 of file hierarchical_timer.h.

Referenced by NL3D::CLandscapeRenderObs::traverse.

#define H_TIME name,
inst   
 

Value:

{ \
                static NLMISC::CHTimer  nl_h_timer(name); \
                nl_h_timer.before(); \
                inst \
                nl_h_timer.after(); \
        }

Definition at line 43 of file hierarchical_timer.h.