computing execution time of tasks in VxWorks -


i want calculate execution time of series of tasks, initiate task , activate it, use taskcreatehookadd start timer , on every switch on each task recalculate time using taskswitchhookadd. after tasks deleted. calculate time 1 last time in taskdeletehookadd.

i created 4 tasks in system, insert, traverse,delete,search binary trees.at end task execution time calculate doesn't seem ok 2 of tasks, times 0. , rest of time have exact same value. have checked priorities of tasks seem ok. tasks have implementation , not empty. can see switch part of code below, i'm sure other parts work fine (by debugging), i'm not sure switch hook. appreciate if me this.thanks in advance.

` void switchtaskhook(wind_tcb *poldtcb, wind_tcb *pnewtcb ) {

if((int)poldtcb == tidinsert) {     inserttotal+=tickget()-inserttick;  } else if((int)poldtcb == tidtraverse) {     traversetotal+=tickget()-traversetick;  } else if((int)poldtcb == tidsearch) {     searchtotal+=tickget()-searchtick;//;count++;  } else if((int)poldtcb == tiddelete) {     deletetotal+=tickget()-deletetick;  }  if((int)pnewtcb == tidinsert) {     inserttick=tickget();  else if((int)pnewtcb == tidtraverse)     {         traversetick=tickget();      } else if((int)pnewtcb == tidsearch)     {         searchtick=tickget();      } else if((int)pnewtcb == tiddelete)     {         deletetick=tickget();        } 

}

`

please read manual entry tickget().

it returns system tick count typically runs @ 60 2khz. coarse performance measurements. controlled bsp , don't want change without reasons (and upper rate typically 8khz, still coarse) since can impact system overhead.

a better approach use timestamp driver typically has microsecond resolution. systimestamp* function in documentation.


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -