12 #ifndef __CU_TIMESTAMP_H__
13 #define __CU_TIMESTAMP_H__
18 typedef std::chrono::high_resolution_clock::time_point timestamp_t;
25 inline timestamp_t current_time() {
return std::chrono::high_resolution_clock::now(); }
35 inline long elapsed_millis(timestamp_t start, timestamp_t end) {
36 auto elapsed = std::chrono::duration_cast<std::chrono::milliseconds>(end-start);
37 return (
long)elapsed.count();
48 inline long elapsed_micros(timestamp_t start, timestamp_t end) {
49 auto elapsed = std::chrono::duration_cast<std::chrono::microseconds>(end-start);
50 return (
long)elapsed.count();
61 inline long elapsed_nanos(timestamp_t start, timestamp_t end) {
62 auto elapsed = std::chrono::duration_cast<std::chrono::nanoseconds>(end-start);
63 return (
long)elapsed.count();