AL_USDMaya  0.29.4
USD to Maya Bridge
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends 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::usdmaya::ProfilerSectionPath
 This class represents a path made up of AL::usdmaya::ProfilerSectionTag's. It is used so that we can distinguish between identical code sections, accessed from alternative paths, e.g. More...
 
class  AL::usdmaya::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::usdmaya::Profiler::popTime(); }
 

Variables

const uint32_t AL::usdmaya::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::usdmaya::ProfilerSectionTag __entry(#TimedSection, __FILE__, __LINE__); \
}
static void pushTime(const ProfilerSectionTag *entry)
do not call directly. Use the AL_BEGIN_PROFILE_SECTION macro
This class provides a static hash that should be unique for a line within a specific function...
Definition: CodeTimings.h:38

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

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

Put this macro after a timed section of code.

Variable Documentation

const uint32_t AL::usdmaya::MAX_TIMESTAMP_STACK_SIZE = 16

a constant that determines the maximum possible depth of the timing