in reply to utime vs. open/close

Presumably all that is happening is that it is only the data in the buffer cache that is changing and so all you are really seeing is the same as modifying a chunk of memory. (I'm presuming you're running Unix here)

For interest I ran it on NT with the following results
Benchmark: timing 3000000 iterations of changestat, openfile... changestat: 4 wallclock secs ( 3.88 usr + -0.02 sys = 3.86 CPU) @ 778 +008.30/s (n=3000000) openfile: 0 wallclock secs ( 1.01 usr + -0.02 sys = 0.99 CPU) @ 3024 +193.55/s (n=3000000)
. This was running on an ancient Pentium 100MHz! - very little disk activity detected so I guess we are seeing caching again. As far as I can tell the whole subject of benchmarking is prone to this sort of behaviour - I think it is very difficult to interpret the results unless you understand what was going on. If the machine was heavily loaded and there was contention for cache then you might see different results.

Have you thought about loading the machine? - You could have a number of processes constantly reading/writing files big enough to cause the cache to be written back to the disk and so hopefully your writes will involve real I/O.

Perhaps once Athena is complete the next project could be a set of benchmarks to facilitate machine and Perl version comparisons - or does such a thing exist already?