1. A method of determining a task load comprising: reading a first count value from a free running counter prior to a task executing; reading a second count value from the free running counter after the task stops running; taking a difference in real time between the first count value and the second count value; using an accumulator to accumulate a difference between the first count value and the second count value over a reference interval; and dividing the accumulated difference by the reference interval.