@@ -70,13 +70,6 @@ void Thread::Run() {
7070
7171 total.Start ();
7272
73- struct TaskTime {
74- uint64_t count = 0 ;
75- uint64_t time = 0 ;
76- };
77-
78- std::unordered_map<Task::TaskFunction, TaskTime> taskTimes;
79-
8073 while ( !exiting ) {
8174 if ( !running ) {
8275 std::this_thread::yield ();
@@ -124,8 +117,8 @@ void Thread::Run() {
124117
125118 t.Stop ();
126119
127- taskTimes[task->Execute ].count ++;
128- taskTimes[task->Execute ].time += t.Time ();
120+ TLM. taskTimes [task->Execute ].count ++;
121+ TLM. taskTimes [task->Execute ].time += t.Time ();
129122
130123 task = nullptr ;
131124
@@ -140,6 +133,8 @@ void Thread::Run() {
140133 taskAdd = TLM.addTimer .Time ();
141134 taskSync = TLM.syncTimer .Time ();
142135
136+ taskTimes = TLM.taskTimes ;
137+
143138 total.Stop ();
144139}
145140
@@ -158,4 +153,10 @@ void Thread::Exit() {
158153 Log::NoticeTag ( " id: %u: fetch: queueLock: %s, outer: %s, add: %s, sync: %s" , id,
159154 Timer::FormatTime ( fetchQueueLock, Timer::ms ), Timer::FormatTime ( fetchOuter, Timer::ms ),
160155 Timer::FormatTime ( taskAdd, Timer::ms ), Timer::FormatTime ( taskSync, Timer::ms ) );
156+
157+ for ( const std::pair<Task::TaskFunction, TaskTime>& taskTime : taskTimes ) {
158+ Log::NoticeTag ( " task: avg: %s, count: %u, time: %u" ,
159+ Timer::FormatTime ( taskTime.second .time / taskTime.second .count , Timer::us ),
160+ taskTime.second .count , taskTime.second .time );
161+ }
161162}
0 commit comments