summaryrefslogtreecommitdiff
path: root/docs/random/ensonic/profiling.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/random/ensonic/profiling.txt')
-rw-r--r--docs/random/ensonic/profiling.txt26
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
+