I've started benchmarking the changes to the minimisation code which remove the apply function. Here are some preliminary results, based on 5 executions of the multimodel sample script on a moderate sized data set: 1.3 code apply branch code 1 5m30.059s 6m14.447s 2 5m38.187s 5m38.949s 3 5m38.408s 5m35.776s 4 5m1.070s 8m46.338s 5 8m8.980s 5m20.290s It appears from this that the apply changes have no appreciable effect on the minisation performance, and that the very preliminary tests I had done previously were simply chance, due to the huge variations of execution time. The origin of these variations is a bit of a mystery to me. I ran all of this overnight, when my machine should have been essentially idle, and indeed each process had >99% of processor time. It is not an issue of differences in the optimisation - the logs of each run are identical, both within and between the different code bases. Any ideas why these identical processes should have such vastly different performance? Chris