|
Orrery
A GPU-accelerated N-body gravitational simulator
|
The whole pool's record. More...
#include <orrery/backend/worker_statistics.hpp>
Public Member Functions | |
| Duration | busy () const noexcept |
| Busy time summed over workers. | |
| Duration | idle () const noexcept |
| Idle time summed over workers. | |
| double | idle_fraction () const noexcept |
| The fraction of available worker time that was spent waiting. | |
Public Attributes | |
| std::vector< WorkerStatistics > | workers |
| One entry per worker, in worker order. | |
| Duration | elapsed {} |
| Wall time spent inside parallel regions, measured by the submitting thread. | |
| std::uint64_t | regions {} |
| How many parallel regions have run. | |
The whole pool's record.
|
inlinenodiscardnoexcept |
The fraction of available worker time that was spent waiting.
Zero when nothing has run, which is a truthful answer to the question rather than a division by zero. This is the headline number for the static against dynamic comparison: it is what a perfectly balanced scheduler drives towards zero, and what an unbalanced one cannot.
| Duration orrery::backend::ExecutorStatistics::elapsed {} |
Wall time spent inside parallel regions, measured by the submitting thread.
This is the denominator a speedup is formed against.