Friday, September 02, 2005

Average Command Runtimes with runtime

39.4 Average Command Runtimes with runtime
runtime
The time command (39.2) 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 &
[1] 12233

The summary will go to the runtime.out file.

0 Comments:

Post a Comment

<< Home