Hello Phil,
As an IT specialist who used to do large scale performance tuning of big UNIX systems, let me add two A$ cents worth.
Modern operating systems cache a lot of objects in memory. When a program is first run it can take much longer than the next time since disk blocks have to be loaded into memory which is relatively slow. The next run can often take advantage of data in memory not disk which is orders of magnitude faster. There is all sorts of other caching that we need not mention.
What's the point? The point is, for proper timing figures for a client, tedious though it may be, you need to have an equal field for each run. This means you absolutely need to reboot the system for each timing run. Then, from a practical usage point of view with lilypond,. where you recompile repeatedly, an average figure is acceptable. But to do comparisons you need a strict methodology.
I cannot of course resist adding that the UNIX filesystem and read-ahead/write-behind and disk block layout is _so_ much more sophisticated than Windows that the sheer performance gains are overwhelming. Even running Linux in a virtual machine on Windows is considerably faster than Windows. In fact, I have run timing tests in the past that show that running Windows in Linux on Windows is faster than native Windows - this is due to the overall efficiency of the Linux I/O code. It's no wonder UNIX dominates the enterprise server market worldwide. Even SSD's don't make Windows into a high performance environment (in fact you need such because Windows is intrinsically so sluggish).
All the best form Down Under!
Andrew