next up previous contents
Next: Examples Up: Implementation Previous: Selecting Alternatives

System Integration

Suppose Alyssa P. Hacker, programmer, wanted to take advantage of the clever compiler implementation described in this chapter, for a program with a single source file, prog.c. Here's what Alyssa had to do:

Ben runs the program frequently, and profiling data is stored in prog.prf.qprofiling_data. Before long, as the program prog.prf.exe is exiting and storing profiling data from the most current run, it decides it has accumulated profiling data from enough runs and re-invokes the select_alternatives pass without requiring Ben's intervention; select_alternatives incorporates the data in prog.prf.qprofiling_data into annotations in prof.prf. Several weeks (and many iterations of this process) later, when Alyssa returns, the program is running much faster for Ben, but nevertheless Ben clamours at Alyssa, dissatisfied because he wants another half dozen new features. Back to work for Alyssa --- a programmer's work is never done.

Reinventing Computing, MIT AI Lab. Author: (Ping Huang)