5#ifndef OPENCV_UTILS_INSTR_HPP
6#define OPENCV_UTILS_INSTR_HPP
8#include <opencv2/core/utility.hpp>
9#include <opencv2/core/utils/tls.hpp>
16#ifdef CV_COLLECT_IMPL_DATA
26#define CV_IMPL_PLAIN 0x01
27#define CV_IMPL_OCL 0x02
28#define CV_IMPL_IPP 0x04
29#define CV_IMPL_MT 0x10
32#define CV_IMPL_ADD(impl) \
33 if(cv::useCollection()) \
35 cv::addImpl(impl, CV_Func); \
43#if !defined OPENCV_ABI_CHECK
72 NodeData(
const char* funName = 0,
const char* fileName = NULL,
int lineNum = 0,
void* retAddress = NULL,
bool alwaysExpand =
false,
cv::instr::TYPE instrType = TYPE_GENERAL,
cv::instr::IMPL implType = IMPL_PLAIN);
Definition utility.hpp:1075
TLS data accumulator with gathering methods.
Definition tls.hpp:89
Definition instrumentation.hpp:70
cv::String m_funName
Definition instrumentation.hpp:77
const char * m_fileName
Definition instrumentation.hpp:80
volatile int m_counter
Definition instrumentation.hpp:86
bool m_alwaysExpand
Definition instrumentation.hpp:83
double getMeanMs() const
Definition instrumentation.hpp:93
NodeData(const char *funName=0, const char *fileName=NULL, int lineNum=0, void *retAddress=NULL, bool alwaysExpand=false, cv::instr::TYPE instrType=TYPE_GENERAL, cv::instr::IMPL implType=IMPL_PLAIN)
cv::instr::IMPL m_implType
Definition instrumentation.hpp:79
bool m_funError
Definition instrumentation.hpp:84
volatile uint64 m_ticksTotal
Definition instrumentation.hpp:87
NodeData & operator=(const NodeData &)
TLSDataAccumulator< NodeDataTls > m_tls
Definition instrumentation.hpp:88
double getTotalMs() const
Definition instrumentation.hpp:92
void * m_retAddress
Definition instrumentation.hpp:82
int m_lineNum
Definition instrumentation.hpp:81
cv::instr::TYPE m_instrType
Definition instrumentation.hpp:78
int m_threads
Definition instrumentation.hpp:89
InputArrayOfArrays Size InputOutputArray InputOutputArray OutputArrayOfArrays OutputArrayOfArrays OutputArray OutputArray OutputArray int flags
Definition calib3d.hpp:1617
CvCmpFunc func
Definition core_c.h:1712
uint64_t uint64
Definition interface.h:62
#define CV_EXPORTS
Definition cvdef.h:435
CV_EXPORTS_W double getTickFrequency()
Returns the number of ticks per second.
FLAGS
Definition instrumentation.hpp:109
@ FLAGS_EXPAND_SAME_NAMES
Definition instrumentation.hpp:112
@ FLAGS_MAPPING
Definition instrumentation.hpp:111
@ FLAGS_NONE
Definition instrumentation.hpp:110
CV_EXPORTS void setFlags(FLAGS modeFlags)
bool operator==(const NodeData &lhs, const NodeData &rhs)
IMPL
Definition instrumentation.hpp:54
@ IMPL_OPENCL
Definition instrumentation.hpp:57
@ IMPL_IPP
Definition instrumentation.hpp:56
@ IMPL_PLAIN
Definition instrumentation.hpp:55
CV_EXPORTS void resetTrace()
CV_EXPORTS bool useInstrumentation()
TYPE
Definition instrumentation.hpp:46
@ TYPE_MARKER
Definition instrumentation.hpp:48
@ TYPE_GENERAL
Definition instrumentation.hpp:47
@ TYPE_WRAPPER
Definition instrumentation.hpp:49
@ TYPE_FUN
Definition instrumentation.hpp:50
CV_EXPORTS InstrNode * getTrace()
CV_EXPORTS void setUseInstrumentation(bool flag)
CV_EXPORTS FLAGS getFlags()
Node< NodeData > InstrNode
Definition instrumentation.hpp:97
"black box" representation of the file storage associated with a file on disk.
Definition calib3d.hpp:441
Definition instrumentation.hpp:61
NodeDataTls()
Definition instrumentation.hpp:62
uint64 m_ticksTotal
Definition instrumentation.hpp:66