jaffarCommon
Loading...
Searching...
No Matches
timing.hpp
Go to the documentation of this file.
1#pragma once
2
8#include <chrono>
9#include <stddef.h>
10#include <type_traits>
11
12namespace jaffarCommon
13{
14
15namespace timing
16{
17
21typedef std::chrono::high_resolution_clock::time_point timePoint;
22
28__JAFFAR_COMMON__INLINE__ timePoint now() { return std::chrono::high_resolution_clock::now(); };
29
37__JAFFAR_COMMON__INLINE__ double timeDeltaSeconds(const std::chrono::time_point<std::chrono::high_resolution_clock> end,
38 const std::chrono::time_point<std::chrono::high_resolution_clock> start)
39{
40 return (double)std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count() * 1.0e-9;
41};
42
50__JAFFAR_COMMON__INLINE__ size_t timeDeltaNanoseconds(const std::chrono::time_point<std::chrono::high_resolution_clock> end,
51 const std::chrono::time_point<std::chrono::high_resolution_clock> start)
52{
53 return std::chrono::duration_cast<std::chrono::nanoseconds>(end - start).count();
54};
55
63__JAFFAR_COMMON__INLINE__ size_t timeDeltaMicroseconds(const std::chrono::time_point<std::chrono::high_resolution_clock> end,
64 const std::chrono::time_point<std::chrono::high_resolution_clock> start)
65{
66 return std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
67};
68
69} // namespace timing
70
71} // namespace jaffarCommon
__JAFFAR_COMMON__INLINE__ timePoint now()
Definition timing.hpp:28
__JAFFAR_COMMON__INLINE__ double timeDeltaSeconds(const std::chrono::time_point< std::chrono::high_resolution_clock > end, const std::chrono::time_point< std::chrono::high_resolution_clock > start)
Definition timing.hpp:37
std::chrono::high_resolution_clock::time_point timePoint
Definition timing.hpp:21
__JAFFAR_COMMON__INLINE__ size_t timeDeltaMicroseconds(const std::chrono::time_point< std::chrono::high_resolution_clock > end, const std::chrono::time_point< std::chrono::high_resolution_clock > start)
Definition timing.hpp:63
__JAFFAR_COMMON__INLINE__ size_t timeDeltaNanoseconds(const std::chrono::time_point< std::chrono::high_resolution_clock > end, const std::chrono::time_point< std::chrono::high_resolution_clock > start)
Definition timing.hpp:50