![]()  | 
  
    VCSBeam
    
   | 
 
#include <stdlib.h>#include <stdio.h>#include <stdbool.h>#include <string.h>#include <time.h>#include <math.h>#include "vcsbeam.h"Functions | |
| double | now () | 
| Gets the precise current time.  More... | |
| int | get_stopwatch_idx (logger *log, const char *stopwatch_name) | 
| Finds the stopwatch with the given name.  More... | |
| int | get_stopwatch_max_name_length (logger *log) | 
| Finds the maximum length of stopwatch names.  More... | |
| double | calc_stopwatch_mean (logger_stopwatch *sw) | 
| Calculates the mean duration of a stopwatch's runs.  More... | |
| double | calc_stopwatch_std (logger_stopwatch *sw) | 
| Calculates the standard devation of a stopwatch's runs.  More... | |
| void | write_stopwatch_stats_str (logger *log, logger_stopwatch *sw, int pad_size) | 
| Prints a stopwatch's statisticss (mean and std).  More... | |
| logger * | create_logger (FILE *fout, int world_rank) | 
| Creates a new logger object.  More... | |
| void | destroy_logger (logger *log) | 
| Destroys a logger object.  More... | |
| void | logger_add_stopwatch (logger *log, const char *stopwatch_name, const char *description) | 
| Adds a stopwatch to the logger object.  More... | |
| void | logger_start_stopwatch (logger *log, const char *stopwatch_name, bool print_description) | 
| Starts a stopwatch.  More... | |
| void | logger_stop_stopwatch (logger *log, const char *stopwatch_name) | 
| Stops a stopwatch.  More... | |
| void | logger_timed_message (logger *log, const char *message) | 
| Prints a timestamped log message.  More... | |
| void | logger_message (logger *log, const char *message) | 
| Prints a log message.  More... | |
| void | logger_stopwatch_report_stats (logger *log, const char *stopwatch_name) | 
| Prints a stopwatch's statistics.  More... | |
| void | logger_report_all_stats (logger *log) | 
| Prints all stopwatches' statistics.  More... | |
| double calc_stopwatch_mean | ( | logger_stopwatch * | sw | ) | 
Calculates the mean duration of a stopwatch's runs.
| sw | A stopwatch object | 
sw | double calc_stopwatch_std | ( | logger_stopwatch * | sw | ) | 
Calculates the standard devation of a stopwatch's runs.
| sw | A stopwatch object | 
sw | logger* create_logger | ( | FILE * | fout, | 
| int | world_rank | ||
| ) | 
Creates a new logger object.
| fout | The file stream where to print logger messages | 
| world_rank | The rank of the current MPI process | 
If world_rank is a non-negative integer, the value of world_rank will be included in log messages. To avoid printing the rank, set world_rank to PERFORMANCE_NO_MPI. 
| void destroy_logger | ( | logger * | log | ) | 
Destroys a logger object.
| log | The logger object to be destroyed and its memory freed. | 
| int get_stopwatch_idx | ( | logger * | log, | 
| const char * | stopwatch_name | ||
| ) | 
Finds the stopwatch with the given name.
| log | The logger object to be searched | |
| [in] | stopwatch_name | The string to be searched | 
log→stopwatches where the stopwatch name matches stopwatch_name | int get_stopwatch_max_name_length | ( | logger * | log | ) | 
Finds the maximum length of stopwatch names.
| log | A logger object with stopwatches | 
log | void logger_add_stopwatch | ( | logger * | log, | 
| const char * | stopwatch_name, | ||
| const char * | description | ||
| ) | 
Adds a stopwatch to the logger object.
| log | The logger object to be added to | 
| stopwatch_name | A string specifying the new stopwatch's name | 
| description | A string specifying the new stopwatch's purpose | 
| void logger_message | ( | logger * | log, | 
| const char * | message | ||
| ) | 
Prints a log message.
| log | A logger object | 
| message | The message to be printed | 
The message is printed to log->fout, including a trailing newline character. 
| void logger_report_all_stats | ( | logger * | log | ) | 
Prints all stopwatches' statistics.
| log | the logger object whose stopwatches are to be reported | 
This function prints the statistics of all stopwatches which have been run at least once. The output is aligned, with each stopwatch name being padded by the same amount.
Example:
| void logger_start_stopwatch | ( | logger * | log, | 
| const char * | stopwatch_name, | ||
| bool | print_description | ||
| ) | 
Starts a stopwatch.
| log | The logger object containing the stopwatch to be started | 
| stopwatch_name | The name of the stopwatch to be started | 
| print_description | Print a timed message with the stopwatch's description | 
If the stopwatch is already running, this has no effect.
| void logger_stop_stopwatch | ( | logger * | log, | 
| const char * | stopwatch_name | ||
| ) | 
Stops a stopwatch.
| log | The logger object containing the stopwatch to be stopped | 
| stopwatch_name | The name of the stopwatch to be stopped | 
If the stopwatch is already stopped, this has no effect.
| void logger_stopwatch_report_stats | ( | logger * | log, | 
| const char * | stopwatch_name | ||
| ) | 
Prints a stopwatch's statistics.
| log | A logger object containing the stopwatch to be reported | 
| stopwatch_name | The name of the stopwatch to be reported | 
A wrapper for write_stopwatch_stats_str(), where pad_size is set to zero, and the statistics are only printed if there has been at least one run for the specified stopwatch. 
| void logger_timed_message | ( | logger * | log, | 
| const char * | message | ||
| ) | 
Prints a timestamped log message.
| log | A logger object | 
| message | The message to be printed | 
The message will be printed to the file stream log->fout.
If log->world_rank is non-negative, the format of the message is 
Otherwise, the format is
| double now | ( | ) | 
Gets the precise current time.
| void write_stopwatch_stats_str | ( | logger * | log, | 
| logger_stopwatch * | sw, | ||
| int | pad_size | ||
| ) | 
Prints a stopwatch's statisticss (mean and std).
| log | A logger object | 
| sw | The stopwatch object whose statistics are to be printed | 
| pad_size | The field width for the stopwatch name (for alignment purposes) | 
Setting pad_size = 0 is the same as setting it to the number of characters in the stopwatch's name.