AL_USDMaya  0.16.6
USD to Maya Bridge
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Profiler

A series of classes and macros that provide a very simple in-code profiler to get some high level timings of the various processes during import / export operations. More...

Classes

class  AL::maya::ProfilerSectionPath
 This class represents a path made up of ProfilerSectionTag's. It is used so that we can distinguish between identical code sections, accessed from alternative paths, e.g. More...
 
class  AL::maya::Profiler
 This class implements a very simple incode profiler. This profiler is NOT thread safe. It is mainly used to get some basic stats on the where the bottlenecks are during a file import/export operation. A simple example of usage: More...
 

Macros

#define AL_BEGIN_PROFILE_SECTION(TimedSection)
 
#define AL_END_PROFILE_SECTION()   { AL::maya::Profiler::popTime(); }
 

Variables

const uint32_t AL::maya::MAX_TIMESTAMP_STACK_SIZE = 16
 

Detailed Description

A series of classes and macros that provide a very simple in-code profiler to get some high level timings of the various processes during import / export operations.

Macro Definition Documentation

#define AL_BEGIN_PROFILE_SECTION (   TimedSection)
Value:
{ \
static const AL::maya::ProfilerSectionTag __entry(#TimedSection, __FILE__, __LINE__); \
}
This class provides a static hash that should be unique for a line within a specific function...
Definition: CodeTimings.h:22
static void pushTime(const ProfilerSectionTag *entry)
do not call directly. Use the AL_BEGIN_PROFILE_SECTION macro

Put this macro at the start of a timed section of code

#define AL_END_PROFILE_SECTION ( )    { AL::maya::Profiler::popTime(); }

Put this macro after a timed section of code.

Variable Documentation

const uint32_t AL::maya::MAX_TIMESTAMP_STACK_SIZE = 16

a constant that determines the maximum possible depth of the timing