24 #if !defined (octave_profiler_h)
25 #define octave_profiler_h 1
60 fcn = t.profiler_name ();
89 void set_active (
bool);
115 static octave_value function_set_value (
const function_set&);
140 void build_flat (flat_profile&)
const;
145 octave_value get_hierarchical (
double* total = 0)
const;
152 typedef std::map<octave_idx_type, tree_node*>
child_map;
185 void enter_function (
const std::string&);
186 void exit_function (
const std::string&);
192 double query_time ()
const;
197 void add_current_time (
void);
209 #define BEGIN_PROFILER_BLOCK(classname) \
211 profile_data_accumulator::enter<classname> pe (profiler, *this);
213 #define END_PROFILER_BLOCK \
214 } // end of block => call pe's destructor
function_set known_functions
std::map< std::string, octave_idx_type > fcn_index_map
enter(profile_data_accumulator &a, const T &t)
bool is_active(void) const
std::vector< std::string > function_set
std::vector< stats > flat_profile
void exit_function(const std::string &)
std::set< octave_idx_type > function_set
OCTINTERP_API profile_data_accumulator profiler
std::map< octave_idx_type, tree_node * > child_map
void enter_function(const std::string &)
profile_data_accumulator & acc