Tuesday, 31 January 2006

Planning on two fronts

Modern computer processors have this feature called “speculative execution,” in which they try to guess which code path is more likely to be executed, and actually go ahead and execute that code before seeing which path is taken. This is a perfectly sensible strategy; however, if the prediction is wrong, the computer has to “undo” all that work and take the other branch.

Today I engaged in a little speculative execution of my own by putting in the paperwork to teach my (hypothetical) research methods class in the fall in an Interactive Computer Classroom. It’s not a huge investment by any stretch of the imagination, but every little commitment edges me down the path of spending another year in Durham. And given the state of the job market these days (and perhaps my generally picky nature), the chance of a branch misprediction seems rather low at this point.