|runtime||The will time a single run of a command - but the results can vary from run to run. The runtime script runs a command the number of times you specify, then averages the results. For example:|
runtime -5 getdata 0.5 outfile...wait a while... runtime summary - 5 runs of % getdata 0.5 outfile (working directory = /users/jerry/.src/getdata) First run started at: Thu Mar 19 09:33:58 EST 1992 Last run finished at: Thu Mar 19 09:36:41 EST 1992 ------------------------ RUN # ***INDIVIDUAL RESULTS*** 1 1.0u 7.4s 1:06 12% 0+108k 0+0io 0pf+0w 2 0.2u 0.8s 0:05 16% 0+128k 0+0io 0pf+0w 3 0.2u 1.3s 0:11 13% 0+116k 0+0io 0pf+0w 4 0.4u 2.7s 0:25 12% 0+108k 0+0io 0pf+0w 5 0.9u 5.9s 0:53 12% 0+108k 0+0io 0pf+0w AVERAGES: 0.54u 3.62s 0:32 0+113k 0+0io 0pf+0w
It's good for testing different versions of a program to find the fastest (or slowest!). If you're writing a program that will run a lot, shaving 10% or 20% off its time can be worth the work.
Note that the command you run can't have any redirection in it; that's because runtime does some redirection of its own. You can redirect the output of runtime into a log file though, and run the whole mess in the background. For example:
runtime -5 getdata 0.5 outfile > runtime.out & 12233
The summary will go to the runtime.out file.