ID:1048881
 
(See the best response by Jemai1.)
What's worse, when you have more Self CPU than Total CPU, or when you have more Total CPU than Self CPU? I'm getting used to profile and I don't either know what is Real Time for.

Thanks :)
Best response
proc/Someproc()
// do stuff
Otherproc()


Someproc's self cpu is its total cpu minus Otherproc. Real time is the time it takes for it to finish.

Correct me if I'm wrong but that's how I understand it.
Basically as Jemai1 says. Self-CPU is how long it takes for the procedure to execute, discounting any time taken by procedures it in turn calls. A good example of a procedure taking a lot of self-CPU would be:

proc/test()
var/out = 1
for (var/t in 1 to 10000)
out += t
sendValue(out)
return out


The time taken to execute sendValue() is not included in the self-CPU time for test(). It is however, as Jemai1 states, included in the total-CPU time for test().

Real-time CPU is the "wall clock" time. Basically it will include delays where the user is answering an input() box, networking delays etc.

As for what's worse, it kind of depends on your scenario, and how frequently the procedures are being called. I'd love to be more specific, but I think I'd need an example or case-study, to elaborate with there.