Xilinx / inference-server

https://xilinx.github.io/inference-server/
Apache License 2.0
43 stars 13 forks source link

Add timer object for timestamps #104

Closed varunsh-xilinx closed 1 year ago

varunsh-xilinx commented 1 year ago

Summary of Changes

Motivation

Dealing with std::chrono and its myriad of classes and converting the duration between different units is verbose and error-prone. This object moves all that logic internally so you can focus on collecting timestamps and getting them in the right units and type easily.

Implementation

The Timer maintains a map of labels and timestamps. When you create the object, you can choose to save a value on construction. If you pass true, it saves the current time. If you pass a time, it uses that time. The timer uses two special labels, "start" and "stop", which are set by the start() and stop() methods. You can also save custom timestamps using add(). Using the count() method allows you to specify two labels and get the duration between them. Without any arguments or template parameters, this method will get the duration between the "start" and "stop" labels and return the time in seconds as a double.

The functionality is defined in timer.hpp and implemented in timer.cpp.

gbuildx commented 1 year ago

Build failed!

gbuildx commented 1 year ago

Build successful!

gbuildx commented 1 year ago

Build successful!