From: MikkelFJ Date: 2002-12-19T10:32:58+09:00 Subject: Re: yet another benchmark > User time is the amount of CPU time spent within the user-space (your > program), and system time is the amount of CPU time spent within the > kernel (syscall calls). It is useful in determining where the program > is spending most of its time. wallclock time is usually the best measure. It catches all those place where the CPU stalls. Typically a program is not slow becuase of what it is doing, but because of what it is not doing. CPU cache misses easily cost 1000 instructions and much more if stalling on virtual memory on disk. (I believe this is a major reason why Java doesn't beat the crap out of Ruby in performance). The wallclock time will benefit small code where the instruction cache isn't hit too bad and it will also benefit programs that doesn't trash all over the memory causing expensive cache misses. And of course bad disk I/O patterns are also measured here. The downside of wallclock time is that you also measure background activity from other processes, but you just find a quiet moment on the computer before starting to measure. Mikkel