AYON Cpp Api  0.1.0
Loading...
Searching...
No Matches
perfPrinter.h
Go to the documentation of this file.
2#include <chrono>
3#include <iostream>
4#include <string>
5#include <vector>
6
7struct perfStats {
8 std::chrono::time_point<std::chrono::high_resolution_clock> startTime;
9 std::chrono::time_point<std::chrono::high_resolution_clock> endTime;
10 std::string StatName;
11 std::string HeaderText;
12 std::string FoderText;
13 std::string Note;
14 std::vector<std::string> extraInfo;
15 bool Stop = false;
16};
17
19 public:
21
22 perfPrinter(const std::string &Name) {
24 currentRunStats.startTime = std::chrono::high_resolution_clock::now();
25 }
27 this->printStats();
28 };
29
30 void
32 std::cout << currentRunStats.StatName << "\n"
34 << currentRunStats.Note << "\n";
35
36 // Print Time Info
37 long long castedStartTime
38 = std::chrono::time_point_cast<std::chrono::microseconds>(currentRunStats.startTime)
39 .time_since_epoch()
40 .count();
41
42 long long castEndTime
43 = std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::high_resolution_clock::now())
44 .time_since_epoch()
45 .count();
46 std::cout << "Execution Time: " << castedStartTime - castEndTime << "\n";
47
48 std::cout << "ThreadId: " << std::hash<std::thread::id>{}(std::this_thread::get_id()) << "\n";
49
50 // Print Extra Info
51 for (const std::string &infoEntry: currentRunStats.extraInfo) {
52 std::cout << infoEntry << "\n";
53 }
54 std::cout << currentRunStats.FoderText << std::endl;
55 };
56};
Definition: perfPrinter.h:18
~perfPrinter()
Definition: perfPrinter.h:26
void printStats()
Definition: perfPrinter.h:31
perfPrinter(const std::string &Name)
Definition: perfPrinter.h:22
perfStats currentRunStats
Definition: perfPrinter.h:20
Definition: perfPrinter.h:7
std::string StatName
Definition: perfPrinter.h:10
bool Stop
Definition: perfPrinter.h:15
std::string FoderText
Definition: perfPrinter.h:12
std::vector< std::string > extraInfo
Definition: perfPrinter.h:14
std::chrono::time_point< std::chrono::high_resolution_clock > startTime
Definition: perfPrinter.h:8
std::string Note
Definition: perfPrinter.h:13
std::chrono::time_point< std::chrono::high_resolution_clock > endTime
Definition: perfPrinter.h:9
std::string HeaderText
Definition: perfPrinter.h:11