aboutsummaryrefslogtreecommitdiff
path: root/doc/pddp/timer-help.pd
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-04-28 00:25:05 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2005-04-28 00:25:05 +0000
commit061e4be1f20ac78e3b52bc6429322d5fadcf5831 (patch)
treec6449d7cf4a19547b97d234ef4c65251ee766c1d /doc/pddp/timer-help.pd
parente30864640368dc4c25c309fb83365807955e832e (diff)
cleaned up a number of patches; renamed all to the standard -help.pd format; added some more ideas to the style guide; finished up lists_vs_anythings
svn path=/trunk/; revision=2841
Diffstat (limited to 'doc/pddp/timer-help.pd')
-rw-r--r--doc/pddp/timer-help.pd108
1 files changed, 108 insertions, 0 deletions
diff --git a/doc/pddp/timer-help.pd b/doc/pddp/timer-help.pd
new file mode 100644
index 00000000..5010abaa
--- /dev/null
+++ b/doc/pddp/timer-help.pd
@@ -0,0 +1,108 @@
+#N canvas 11 8 937 643 10;
+#X msg 43 113 bang;
+#X msg 18 91 bang;
+#X obj 18 135 timer;
+#X obj 25 15 timer;
+#X floatatom 18 157 0 0 0;
+#X text 90 159 Output is in milliseconds;
+#X text 65 16 -- measure logical time;
+#X text 53 91 Click here to start or reset;
+#X text 13 44 The [timer] object measures elapsed logical time. Logical
+time moves forward as if all computation were instantaneous and as
+if all [delay] and [metro] objects were exact.;
+#X text 11 185 [timer] works like essentially like a stop-watch. Once
+it starts \, you can continue to "poll" the [timer] to view the elapsed
+time.;
+#X text 81 114 Click here to get elapsed logical time. Click again...and
+again...to see periodic measurements from the start or reset time.
+;
+#X text 10 282 As stated above \, [timer] measures "logical" time.
+This value may be slightly different that CPU time or "real" time.
+PD offers two objects which measure CPU time and "real" time. See the
+reference documents for those objects for more information.;
+#X obj 52 545 time_measurements;
+#X obj 52 441 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X floatatom 17 572 0 0 0;
+#X floatatom 108 585 0 0 0;
+#X floatatom 175 573 0 0 0;
+#X text 11 358 In the example below \, I've created an abstraction
+which will force each of Pd's stop-watches \, [timer] [cputime] and
+[realtime] to measure various processes and report the elapsed time.
+Click on each [bng] to begin the process and wait for the results.
+Notice the discrepancies in the results.;
+#X text 15 587 Logical Time;
+#X text 173 587 Real Time;
+#X text 107 601 CPU Time;
+#X obj 67 477 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 72 435 1 Measures elapsed time between two "bangs" from a [trigger]
+object.;
+#X text 87 469 2 Measures the amount of time Pd requires to turn on
+DSP and start an oscillator.;
+#X obj 445 484 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 445 17 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 472 36 WHY THE DISCREPANCIES BETWEEN CLOCKS?;
+#X text 475 59 In a fantasy world \, computers could exist somehow
+beyond the restrictions of time and digital computation could be performed
+in ZERO time. However \, that is not the case. Instead \, every process
+within Pd and within your operating system requires at least a few
+nanoseconds of your CPU's time.;
+#X obj 111 509 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 476 144 The [timer] object is like a clock that is not constrained
+to the regular laws of physics and the universal space-time continuum.
+It reports "time" measurements as only Pd can see them!;
+#X text 477 204 The [cputime] object is like a clock that measures
+how much time your CPU actually required to carry out your request.
+Keep in mind however that your CPU is busy doing many things simoultaneously
+\, so even though a process might take 5 minutes to complete \, your
+CPU does not pay full attention to that process for the entire 5 minutes.
+Instead \, it simply begins the process \, then refers back to that
+process from time to time until the it is complete. In other cases
+\, your CPU might require a full 5 minutes while Pd might report that
+merely a few milliseconds have passed. This type of discrepancy depends
+heavily on your computer's hardware and the type of processing it is
+performing.;
+#X text 478 368 The [realtime] object is as much like your own wrist
+watch as Pd can possibly manage. It measures time according to your
+operating system's internal clock.;
+#N canvas 0 0 454 304 related_objects_from_other_libraries 0;
+#X text 27 63 These objects are offered in Pd only if you have downloaded
+and properly installed the appropriate library. These objects may or
+may not exist in a single library.;
+#X text 26 112 The best places to find information about Pd's libraries
+is:;
+#X text 23 134 www.puredata.org and click on "Downloads" then "Software"
+;
+#X text 25 149 or;
+#X text 25 164 iem.kug.ac.at/pdb/;
+#X obj 44 24 t3_timer;
+#X text 469 589 This document was updated for Pd version 0.35 test
+26 by Dave Sabine as part of a project called pddp proposed by Krzysztof
+Czaja to build comprehensive documentation for Pd.;
+#X restore 505 476 pd related_objects_from_other_libraries;
+#X text 309 580 This document was updated for Pd version 0.35 test
+28 by Dave Sabine as part of a project called pddp proposed by Krzysztof
+Czaja to build comprehensive documentation for Pd.;
+#X text 11 232 The odd aspect about comparing [timer] to a stop-watch
+is that a stop-watch can be stopped! [timer] can only be started or
+reset. It cannot be stopped.;
+#X obj 625 445 metro;
+#X text 504 422 RELATED OBJECTS;
+#X obj 504 446 cputime;
+#X obj 562 445 realtime;
+#X text 132 501 3 Measures the amount of time Pd requires count to
+three...please wait for approximately 3 seconds.;
+#X connect 0 0 2 1;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 12 0 14 0;
+#X connect 12 1 15 0;
+#X connect 12 2 16 0;
+#X connect 13 0 12 0;
+#X connect 21 0 12 1;
+#X connect 25 0 24 0;
+#X connect 28 0 12 2;