1
0
mirror of https://github.com/wolfpld/tracy synced 2025-04-29 12:23:53 +00:00

Optimize reading context switches.

This commit is contained in:
Bartosz Taudul 2020-02-13 01:12:01 +01:00
parent 3bb0f33dcc
commit c03b8b72da

View File

@ -1490,17 +1490,17 @@ Worker::Worker( FileRead& f, EventType::Type eventMask, bool bgTasks )
auto ptr = data->v.data(); auto ptr = data->v.data();
for( uint64_t j=0; j<csz; j++ ) for( uint64_t j=0; j<csz; j++ )
{ {
ptr->SetWakeup( ReadTimeOffset( f, refTime ) ); int64_t deltaWakeup, deltaStart, diff;
ptr->SetStart( ReadTimeOffset( f, refTime ) ); uint8_t cpu;
int64_t diff; int8_t reason, state;
f.Read( diff ); f.Read6( deltaWakeup, deltaStart, diff, cpu, reason, state );
refTime += deltaWakeup;
ptr->SetWakeup( refTime );
refTime += deltaStart;
ptr->SetStart( refTime );
if( diff > 0 ) runningTime += diff; if( diff > 0 ) runningTime += diff;
refTime += diff; refTime += diff;
ptr->SetEnd( refTime ); ptr->SetEnd( refTime );
uint8_t cpu;
int8_t reason;
int8_t state;
f.Read3( cpu, reason, state );
ptr->SetCpu( cpu ); ptr->SetCpu( cpu );
ptr->SetReason( reason ); ptr->SetReason( reason );
ptr->SetState( state ); ptr->SetState( state );