xref: /original-bsd/old/refer/hunt/tick.c (revision 7e95f7c4)
1 #ifndef lint
2 static char sccsid[] = "@(#)tick.c	4.3 (Berkeley) 05/11/89";
3 #endif
4 
5 /* time programs */
6 # include <stdio.h>
7 # include <sys/types.h>
8 # include <sys/timeb.h>
9 struct tbuffer {
10 	long	proc_user_time;
11 	long	proc_system_time;
12 	long	child_user_time;
13 	long	child_system_time;
14 };
15 static long start, user, system;
16 tick()
17 {
18 	struct tbuffer tx;
19 	struct timeb tp;
20 	times (&tx);
21 	ftime (&tp);
22 	user =  tx.proc_user_time;
23 	system= tx.proc_system_time;
24 	start = tp.time*1000+tp.millitm;
25 }
26 tock()
27 {
28 	struct tbuffer tx;
29 	struct timeb tp;
30 	float lap, use, sys;
31 	if (start==0) return;
32 	times (&tx);
33 	ftime (&tp);
34 	lap = (tp.time*1000+tp.millitm-start)/1000.;
35 	use = (tx.proc_user_time - user)/60.;
36 	sys = (tx.proc_system_time - system)/60.;
37 	printf("Elapsed %.2f CPU %.2f (user %.2f, sys %.2f)\n",
38 		lap, use+sys, use, sys);
39 }
40