|
|
1.1 root 1: /* time programs */
2: # include "stdio.h"
3: # include "sys/types.h"
4: # include "sys/timeb.h"
5: struct tbuffer {
6: long proc_user_time;
7: long proc_system_time;
8: long child_user_time;
9: long child_system_time;
10: };
11: static long start, user, system;
12: tick()
13: {
14: struct tbuffer tx;
15: struct timeb tp;
16: times (&tx);
17: ftime (&tp);
18: user = tx.proc_user_time;
19: system= tx.proc_system_time;
20: start = tp.time*1000+tp.millitm;
21: }
22: tock()
23: {
24: struct tbuffer tx;
25: struct timeb tp;
26: float lap, use, sys;
27: if (start==0) return;
28: times (&tx);
29: ftime (&tp);
30: lap = (tp.time*1000+tp.millitm-start)/1000.;
31: use = (tx.proc_user_time - user)/60.;
32: sys = (tx.proc_system_time - system)/60.;
33: printf("Elapsed %.2f CPU %.2f (user %.2f, sys %.2f)\n",
34: lap, use+sys, use, sys);
35: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.