User`s guide

E-Prime User’s Guide
Chapter 3: Critical Timing
Page 95
Max Measured Pause by Priority
0
20
40
60
80
100
120
140
1
3
5
7
9
11
13
15
17
19
21
23
25
Sequential Run
Max Duration of Pause (ms)
Normal Mode
E-Prime High Priority
Figure 11. Measured maximum duration of a pause in experiment execution in normal and high
priority mode over 25 runs of a 10,000ms timing interval.
In E-Prime, running in high priority mode on a slow (120MHz) machine typically results in
maximum single delays of 3ms. In normal mode, the maximum pause averaged 78ms and was
as high as 122ms. Another metric of the importance of running in high priority mode is the “miss
which is an indication of how often a millisecond transition of the clock was not detected
(refer to the discussion of “miss tick rate” in the introduction to section 3.2 for more details). On a
500 MHz Pentium, the miss-tick rate in high priority mode was 0.025%. However, when running
in normal priority mode, the miss tick rate was 46.67% (an 1867x increase in timing errors). By
running in high priority mode, E-Prime greatly reduces timing errors.
There are some negative consequences to running in high priority mode of which the
experimenter should be aware. When E-Prime is running, it does not yield processing time to
other programs (it attempts to halt or “starve” them of processor time so they don’t affect the
experiment). While E-Prime is running, E-Prime can read/write data to disk and file servers, but
other programs typically cannot. This is fine as long as the computer is not being used for other
actions (e.g., a web server) or attempting to communicate with another application running on the
same machine.
An example of a side effect of running in high priority mode is that some services are delayed
until the end of the experiment. For example, pressing the eject button on an IOMEGA Zip®
drive to unload a disk will likely not result in action until the experiment ends.
As stated previously, changing the priority of an executing experiment is generally discouraged,
but should you need to do it, refer to the E-Basic Online Help for the commands
SetOSThreadPriority, SetPCodeSleepFrequency, SetPCodeSleepDuration.
3.3.1.6 Technique 6: Rescaling clocks to match precision
Computer hardware clocks provide time stamps in very small and reliable, but not very
standardized, time units. These times are based on crystal clocks that show a very precise
oscillation frequency based on the size of the crystal and the temperature of the operating