I agree,
BrowserUk, that's why I said to the OP that it was her or his decision, based on her or his knowledge of the process. Most of the programs I write nowodays are run typically once per month, but, on the other hand, they handle very large volumes of data (usually tens or hundreds of GB) and may take long times to run. I have to make sure my programs are efficient, to make sure that they don't take days to complete, and I take great care making my algorithms efficient, and that can make quite a large difference (and that is important to me because the people running my programs are often part of my team), but, on the other hand, gaining a few seconds on a micro-optimization is not worth the effort if the rest of the program is taking 2 hours to run. Sometimes, on the other hand, a micro-optimization is a real win, for example if it applies on an operation that will be executed billions of times. I had a couple of cases in the past year where it really made sense to think at the micro-optimization level (and at least one case where I changed from a regex to unpack), but most of the time it does not cxut a real difference. Again, the decisions to carry out optimizations should be based on a good knowledge of the business process; sometimes they are really woreth it, sometimes not.