# Timer # This class is able to measure time (in seconds) elapsed in a particular period. Example: ```lua timer = torch.Timer() -- the Timer starts to count now x = 0 for i=1,1000000 do x = x + math.sin(x) end print('Time elapsed for 1,000,000 sin: ' .. timer:time().real .. ' seconds') ``` ## Timer Class Constructor and Methods ## ### torch.Timer() ### Returns a new `Timer`. The timer starts to count the time now. ### [self] reset() ### Resets the timer accumulated time to `0`. If the timer was running, the timer restarts to count the time now. If the timer was stopped, it stays stopped. ### [self] resume() ### Resumes a stopped timer. The timer restarts to count the time, and addition the accumulated time with the time already counted before being stopped. ### [self] stop() ### Stops the timer. The accumulated time counted until now is stored. ### [table] time() ### Returns a table reporting the accumulated time elapsed until now. Following the UNIX shell `time` command, there are three fields in the table: * `real`: the wall-clock elapsed time. * `user`: the elapsed CPU time. Note that the CPU time of a threaded program sums time spent in all threads. * `sys`: the time spent in system usage.