Teaching basic lab skills
for research computing

Episode 11: Making It Fast

Today's episode is the last in the series on program design using invasion percolation as an example. In it, we look at how to make the program we've developed so far run zillions of times faster. It's the longest episode so far, and probably the most difficult, but it makes two very important points:

  1. The biggest performance gains come from improvements to algorithms and data structures, not from tweaking loops and rearranging conditionals.
  2. If you want to write a fast program, you should start by writing a simple one, test it, and then rewrite it piece by piece, re-testing as you go along.

Here's the complete list of episodes:

  1. Introduction
  2. The Grid
  3. Aliasing
  4. Randomness
  5. Finding Neighbors
  6. Resolving Ties
  7. Assembling the Program
  8. Bugs
  9. Refactoring
  10. Testing
  11. Tuning

Dialogue & Discussion

You can review our commenting policy here.