+
+ /**
+ * Keep track of execution time.
+ *
+ * <p>This method keeps track of timing statistics for each subsystem.</p>
+ *
+ * @param time execution time in ms of last call.
+ */
+ void updateExecutionTime(double time);
+
+ /**
+ * Print details of execution time.
+ *
+ * <p>For debugging purposes, developers can place stamp() calls
+ * at strategic points in the update() function of each subsystem, which
+ * record the time between the successive calls to stamp. This method,
+ * printExecutionTime() is called after exectution of the subsystem
+ * update function itself to conduct a post-hoc analysis of excecution
+ * time</p>
+ */