This preview shows page 1. Sign up to view the full content.
Unformatted text preview: amples: Large Array
180 160 140 120 Time (ms) 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Sample Load 1 Load 4 463 Figure 9.11: Measurements of Long Duration Procedure under Different Loading Conditions On a lightly loaded system, the results are consistent across samples, but on a heavily loaded system, many of the measurements overestimate the true execution time. The ﬁrst seven of these samples have times within 2% of the fastest Load 1 sample, but others range as much as 4.3 times greater. As this example illustrates, context switching causes extreme variations in execution time. If a process is swapped out for an entire time interval it will fall behind by millions of instructions. Clearly, any scheme we devise to measure program execution times must avoid such large errors. 9.4.2 Caching and Other Effects
The effects of caching and branch prediction create smaller timing variations than does context switching. As an example, Figure 9.12 shows a series of measurements similar to those in Figure 9.11, except that the array is 4 times s...
View Full Document