6 #include <sys/resource.h>
9 static struct timeval tp1,tp2;
11 static double tvdiff(struct timeval *tv1, struct timeval *tv2)
13 return (tv2->tv_sec + (tv2->tv_usec*1.0e-6)) -
14 (tv1->tv_sec + (tv1->tv_usec*1.0e-6));
17 static void start_timer()
19 gettimeofday(&tp1,NULL);
22 static double end_timer()
24 gettimeofday(&tp2,NULL);
26 return tvdiff(&tp1, &tp2);
30 static void load_file(void)
33 while (end_timer() < 5) {
35 for (i=0;i<1000;i++) {
42 static void load_cpu(void)
45 while (end_timer() < 5) {
47 for (i=0;i<1000;i++) {
50 memcpy(x1, x2, sizeof(x2));
60 getrusage(RUSAGE_SELF, &r1);
62 getrusage(RUSAGE_SELF, &r2);
64 printf("file system %g\n", tvdiff(&r1.ru_stime, &r2.ru_stime));
65 printf("file user %g\n", tvdiff(&r1.ru_utime, &r2.ru_utime));
67 getrusage(RUSAGE_SELF, &r1);
69 getrusage(RUSAGE_SELF, &r2);
70 printf("cpu system %g\n", tvdiff(&r1.ru_stime, &r2.ru_stime));
71 printf("cpu user %g\n", tvdiff(&r1.ru_utime, &r2.ru_utime));