Mitsuba Renderer  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
statistics.h File Reference

Go to the source code of this file.

Classes

struct  mitsuba::CacheLineCounter
 Counter data structure, which is suitable for ccNUMA/SMP machines. More...
 
class  mitsuba::StatsCounter
 General-purpose statistics counter. More...
 
class  mitsuba::ProgressReporter
 General-purpose progress reporter. More...
 
class  mitsuba::Statistics
 Collects various rendering statistics and presents them in a human-readable form. More...
 

Namespaces

 mitsuba
 

Macros

#define __MITSUBA_CORE_STATISTICS_H_
 
#define PROGRESS_MSG_SIZE   56
 Size (in characters) of the console-based progress message. More...
 
#define NUM_COUNTERS   128
 
#define NUM_COUNTERS_MASK   (NUM_COUNTERS-1)
 Bitmask for NUM_COUNTERS. More...
 

Enumerations

enum  mitsuba::EStatsType {
  mitsuba::ENumberValue = 0, mitsuba::EByteCount, mitsuba::EPercentage, mitsuba::EMinimumValue,
  mitsuba::EMaximumValue, mitsuba::EAverage
}
 Determines the multiples (e.g. 1000, 1024) and units of a StatsCounter. More...
 

Macro Definition Documentation

#define __MITSUBA_CORE_STATISTICS_H_
#define NUM_COUNTERS   128

Specifies the number of internal counters associated with each StatsCounter instance.

This is needed for SMP/ccNUMA systems where different processors might be contending for a cache line containing a counter. The solution used here tries to ensure that every processor has its own local counter.

#define NUM_COUNTERS_MASK   (NUM_COUNTERS-1)

Bitmask for NUM_COUNTERS.

#define PROGRESS_MSG_SIZE   56

Size (in characters) of the console-based progress message.