Clearmatics Libff  0.1
C++ library for Finite Fields and Elliptic Curves
profiling.hpp
Go to the documentation of this file.
1 
14 #ifndef PROFILING_HPP_
15 #define PROFILING_HPP_
16 
17 #include <cstddef>
18 #include <map>
19 #include <string>
20 #include <vector>
21 
22 namespace libff
23 {
24 
25 void start_profiling();
26 long long get_nsec_time();
27 void print_time(const char *msg);
28 void print_header(const char *msg);
29 
30 void print_indent();
31 
32 extern bool inhibit_profiling_info;
33 extern bool inhibit_profiling_counters;
34 extern std::map<std::string, size_t> invocation_counts;
35 extern std::map<std::string, long long> last_times;
36 extern std::map<std::string, long long> cumulative_times;
37 
39 
41  const std::string &key, const long long factor = 1);
42 void print_cumulative_times(const long long factor = 1);
43 void print_cumulative_op_counts(const bool only_fq = false);
44 
45 void enter_block(const std::string &msg, const bool indent = true);
46 void leave_block(const std::string &msg, const bool indent = true);
47 
48 void print_mem(const std::string &s = "");
50 
51 } // namespace libff
52 
53 #endif // PROFILING_HPP_
libff::print_cumulative_op_counts
void print_cumulative_op_counts(const bool only_fq)
Definition: profiling.cpp:144
libff::enter_block
void enter_block(const std::string &msg, const bool indent)
Definition: profiling.cpp:271
libff::print_indent
void print_indent()
Definition: profiling.cpp:257
libff
Definition: ffi.cpp:8
libff::cumulative_times
std::map< std::string, long long > cumulative_times
Definition: profiling.cpp:76
libff::last_times
std::map< std::string, long long > last_times
Definition: profiling.cpp:75
libff::print_cumulative_times
void print_cumulative_times(const long long factor)
Definition: profiling.cpp:136
libff::start_profiling
void start_profiling()
Definition: profiling.cpp:65
libff::get_nsec_time
long long get_nsec_time()
Definition: profiling.cpp:32
libff::clear_profiling_counters
void clear_profiling_counters()
Definition: profiling.cpp:110
libff::invocation_counts
std::map< std::string, size_t > invocation_counts
Definition: profiling.cpp:73
libff::leave_block
void leave_block(const std::string &msg, const bool indent)
Definition: profiling.cpp:305
libff::print_header
void print_header(const char *msg)
Definition: profiling.cpp:248
libff::print_compilation_info
void print_compilation_info()
Definition: profiling.cpp:375
libff::print_cumulative_time_entry
void print_cumulative_time_entry(const std::string &key, const long long factor)
Definition: profiling.cpp:118
libff::inhibit_profiling_counters
bool inhibit_profiling_counters
Definition: profiling.cpp:108
libff::inhibit_profiling_info
bool inhibit_profiling_info
Definition: profiling.cpp:107
libff::print_time
void print_time(const char *msg)
Definition: profiling.cpp:227
libff::print_mem
void print_mem(const std::string &s)
Definition: profiling.cpp:354