Skip to content

Faster timers based on rdtsc instead of chrono #972

@valassi

Description

@valassi

Faster timers based on rdtsc instead of chrono

I file this explcitly as an issue to make this clearer. This was quite a bit of work in the last few days.

I have completed the whole task

  • the new timer.h (I kept the same name for simplicity, but it's a different beast) has a new chrono timer with a different API and a nanosecond tick granularity, but especially includes also a rdtcs timer
  • the calibration of tcs ticks to time is done only ONCE at the end... so maybe the relative ticks are not very precise if frequency varies wildly during a job, but I think that's precise enough
  • the new timers have lower overhead (not too much, but still useful) when calling them very often eg inside sample_get_x
  • I have completed the new counters.cc an dthe new timermap.h to adapt to this new ticks based API with one calibration at the end

The changes are used in many PRs, but I would say that they can be merged from PR #962

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions