diff options
Diffstat (limited to 'docs/random/ensonic/profiling.txt')
-rw-r--r-- | docs/random/ensonic/profiling.txt | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/random/ensonic/profiling.txt b/docs/random/ensonic/profiling.txt new file mode 100644 index 000000000..d75e67d99 --- /dev/null +++ b/docs/random/ensonic/profiling.txt @@ -0,0 +1,26 @@ +$Id$ + +Could schedulers do a little profiling? + +* scheduler keeps a list of usecs the process function of each element was + running +* process functions are: loop, chain, get +* scheduler keeps a sum of all times +* each gst-element has a profile_percentage field + +* when going to play + * scheduler sets sum and all usecs in the list to 0 +* when handling an element + * remember old usecs t_old + * take time t1 + * call elements processing function + * take time t2 + * t_new=t2-t1 + * sum+=(t_new-t_old) + * profile_percentage=t_new/sum; + * should the percentage be averaged? + * profile_percentage=(profile_percentage+(t_new/sum))/2.0; + +* the profile_percentage shows how much CPU time the element uses in relation + to the whole pipeline + |