1#ifndef CLINGO_PROFILE_H
2#define CLINGO_PROFILE_H
4#include <clingo/core.h>
10typedef struct clingo_control clingo_control_t;
63 bool (*
internal)(
size_t depth,
char const *key,
size_t key_size,
bool nested,
void *data);
clingo_profile_type_e
Enumeration for entries of the stats.
Definition profile.h:31
CLINGO_VISIBILITY_DEFAULT bool clingo_control_profile(clingo_control_t const *control, clingo_profile_visitor_t const *visit, void *data)
Visit the profiling data of a control object.
struct clingo_profile_visitor clingo_profile_visitor_t
Visitor for profiling data.
int clingo_profile_type_t
Corresponding type to clingo_profile_type_e.
Definition profile.h:36
struct clingo_profile_data clingo_profile_data_t
Per node performance statistics gathered while grounding a logic program.
@ clingo_profile_type_step
indicate per step values
Definition profile.h:32
@ clingo_profile_type_accu
indicate accumulated values
Definition profile.h:33
Per node performance statistics gathered while grounding a logic program.
Definition profile.h:39
uint64_t time_propagate
The time in nanoseconds spent propagating.
Definition profile.h:47
uint64_t time_instantiate
The time in nanoseconds spent instantiating.
Definition profile.h:45
uint64_t matches
The number of matches produced by the instantiator.
Definition profile.h:41
uint64_t instances
The number of instances produced by the instantiator.
Definition profile.h:43
Visitor for profiling data.
Definition profile.h:51
bool(* internal)(size_t depth, char const *key, size_t key_size, bool nested, void *data)
Visit an internal node in the profile tree.
Definition profile.h:63
bool(* leaf)(size_t depth, clingo_profile_data_t *values, clingo_profile_type_t type, void *data)
Visit leaf nodes in the profile tree.
Definition profile.h:72