Around Christmas time I usually drive up to Oxfordshire to collect my mother and bring her to stay with the family for a few days. The trip typically takes about 1 hour 45 minutes each way. Over the years I’ve tried to figure out some way of getting there and back more quickly, and I’ve finally thought of the silver bullet that will knock about 30 minutes off the journey time.
If I drive at about 30% over the speed limit, and ignore any red traffic-lights (stoplights), I should be able to get there in just 1 hour and 15 minutes. Or rather, if I get there at all I should be able to get there in 1 hour 15 minutes but, like all silver bullets, it does depend on factors outside my control.
If everyone decides on the same silver bullet, there could be chaos on the road (so let’s not try the “alter system” option on this one). Even if I’m the only person using this particular silver bullet, I may have trouble from other road-users who think they’re allowed to go through their green lights while I’m junping my red ones – the British road-system is (unfortunately) a highly concurrent multi-user system.
But if I go at 3:00 am on Sunday morning there probably won’t be anyone else around, and if I remember to get a map showing the speed cameras I can avoid getting caught. So the only problem is that my mother won’t want to be up and about at 3:00 am.
If you haven’t spotted the metaphor by now, it’s this:
It’s often very easy to spot the quick fixes (aka silver bullets) that make one SQL statement or one program go faster. The difficult bit is working out whether it’s possible to use a specific fix, what the side effects are, whether you’re prepared accept some associated risks, and what else you have to do to make it safe (enough).
Happy new year
(to those of you for whom this is the end of your calendar year).