diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2016-05-05 16:15:57 +0000 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2016-05-05 16:15:57 +0000 |
commit | 11dc82fa83b9e058dee690584d7ba4c0380fbf64 (patch) | |
tree | a7eda7b548953e1949e86cbe62a0cd5f63366023 /lldb/packages/Python/lldbsuite/test/python_api | |
parent | 3e0b7837bfcabb877e5f1a6747335409d367be76 (diff) | |
download | bcm5719-llvm-11dc82fa83b9e058dee690584d7ba4c0380fbf64.tar.gz bcm5719-llvm-11dc82fa83b9e058dee690584d7ba4c0380fbf64.zip |
[STATS] Use partitioned timer scheme
This change removes the current timers with ones that partition time properly.
The current timers are nested, so that if a new timer, B, starts when the
current timer, A, is already timing, A's time will include B's. To eliminate
this problem, the partitioned timers are designed to stop the current timer (A),
let the new timer run (B), and when the new timer is finished, restart the
previously running timer (A). With this partitioning of time, a threads' timers
all sum up to the OMP_worker_thread_life time and can now easily show the
percentage of time a thread is spending in different parts of the runtime or
user code.
There is also a new state variable associated with each thread which tells where
it is executing a task. This corresponds with the timers: OMP_task_*, e.g., if
time is spent in OMP_task_taskwait, then that thread executed tasks inside a
#pragma omp taskwait construct.
The changes are mostly changing the MACROs to use the new PARITIONED_* macros,
the new partitionedTimers class and its methods, and new state logic.
Differential Revision: http://reviews.llvm.org/D19229
llvm-svn: 268640
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api')
0 files changed, 0 insertions, 0 deletions