|
Pixar Arch 0.25.8
|
High-resolution, low-cost timing routines. More...
#include "pxr/arch/pxr.h"#include "pxr/arch/api.h"#include "pxr/arch/defines.h"#include "pxr/arch/inttypes.h"#include <algorithm>#include <atomic>#include <iterator>#include <numeric>Go to the source code of this file.
Classes | |
| struct | pxr::ArchIntervalTimer |
| A simple timer class for measuring an interval of time using the ArchTickTimer facilities. More... | |
Namespaces | |
| namespace | pxr |
Functions | |
| uint64_t | pxr::ArchGetTickTime () |
| Return the current time in system-dependent units. | |
| uint64_t | pxr::ArchGetStartTickTime () |
| Get a "start" tick time for measuring an interval of time, followed by a later call to ArchGetStopTickTime(). | |
| uint64_t | pxr::ArchGetStopTickTime () |
| Get a "stop" tick time for measuring an interval of time. | |
| uint64_t | pxr::ArchGetTickQuantum () |
| Return the tick time resolution. | |
| uint64_t | pxr::ArchGetIntervalTimerTickOverhead () |
| Return the ticks taken to record an interval of time with ArchIntervalTimer, as measured at startup time. | |
| int64_t | pxr::ArchTicksToNanoseconds (uint64_t nTicks) |
Convert a duration measured in "ticks", as returned by ArchGetTickTime(), to nanoseconds. | |
| double | pxr::ArchTicksToSeconds (uint64_t nTicks) |
Convert a duration measured in "ticks", as returned by ArchGetTickTime(), to seconds. | |
| uint64_t | pxr::ArchSecondsToTicks (double seconds) |
Convert a duration in seconds to "ticks", as returned by ArchGetTickTime(). | |
| double | pxr::ArchGetNanosecondsPerTick () |
| Get nanoseconds per tick. | |
| uint64_t | pxr::Arch_MeasureExecutionTime (uint64_t maxTicks, bool *reachedConsensus, void const *m, uint64_t(*callM)(void const *, int)) |
| template<class Fn> | |
| uint64_t | pxr::ArchMeasureExecutionTime (Fn const &fn, uint64_t maxTicks=1e7, bool *reachedConsensus=nullptr) |
Run fn repeatedly attempting to determine a consensus fastest execution time with low noise, for up to maxTicks, then return the consensus fastest execution time. | |
High-resolution, low-cost timing routines.