tinyopt 700
Tinyopt, a lightweight, header only optimization library
Loading...
Searching...
No Matches
time.h
1// Copyright 2026 Julien Michot.
2// SPDX-License-Identifier: Apache-2.0
3
4#pragma once
5
6#include <chrono>
7
8namespace tinyopt {
9
10using Clock = std::chrono::high_resolution_clock;
11using TimePoint = std::chrono::high_resolution_clock::time_point;
12
21inline auto tic() { return Clock::now(); }
22
34inline double toc_ms(const std::chrono::time_point<Clock> &t0) {
35 return static_cast<double>(
36 std::chrono::duration_cast<std::chrono::microseconds>(tic() - t0).count()) *
37 1e-3;
38}
39
51inline double dt_ms(const std::chrono::time_point<Clock> &t0,
52 const std::chrono::time_point<Clock> &t1) {
53 return static_cast<double>(
54 std::chrono::duration_cast<std::chrono::microseconds>(t1 - t0).count()) *
55 1e-3;
56}
57
58} // namespace tinyopt