at v192 2.9 kB view raw
1diff -rc c-library-1.2/statistics/rsrc-usage.c c-library-1.2-new/statistics/rsrc-usage.c 2*** c-library-1.2/statistics/rsrc-usage.c 2008-11-10 14:09:47.000000000 +0100 3--- c-library-1.2-new/statistics/rsrc-usage.c 2010-08-24 09:09:13.000000000 +0200 4*************** 5*** 2,81 **** 6 7 #include <unistd.h> 8 #include <stdio.h> 9- #include <sys/time.h> 10- #include <sys/resource.h> 11 #include "rsrc-usage.h" 12 13 /*static int AT_calcAllocatedSize();*/ 14- static struct rusage rsrc_usage; 15- static struct rusage flt_rsrc_usage; 16 17 void printrusage(struct rusage *rusage) { 18- fprintf(stderr, "maxrss %ld\n", rusage->ru_maxrss); 19- fprintf(stderr, "ixrss %ld\n", rusage->ru_ixrss); 20- fprintf(stderr, "idrss %ld\n", rusage->ru_idrss); 21- fprintf(stderr, "isrss %ld\n", rusage->ru_isrss); 22- fprintf(stderr, "minflt %ld\n", rusage->ru_minflt); 23- fprintf(stderr, "majflt %ld\n", rusage->ru_majflt); 24- fprintf(stderr, "nswap %ld\n", rusage->ru_nswap); 25- fprintf(stderr, "inblock %ld\n", rusage->ru_inblock); 26- fprintf(stderr, "oublock %ld\n", rusage->ru_oublock); 27- fprintf(stderr, "msgsnd %ld\n", rusage->ru_msgsnd); 28- fprintf(stderr, "msgrcv %ld\n", rusage->ru_msgrcv); 29- fprintf(stderr, "nsignals %ld\n", rusage->ru_nsignals); 30- fprintf(stderr, "nvcsw %ld\n", rusage->ru_nvcsw); 31- fprintf(stderr, "nivcsw %ld\n", rusage->ru_nivcsw); 32 } 33 34 double STATS_Timer(void) { 35! static double cur = 0; 36! double prev; 37! 38! prev = cur; 39! if (getrusage(RUSAGE_SELF, &rsrc_usage) == -1) { 40! perror("getrusage"); 41! return (double)0; 42! } 43! 44! cur = (double) (rsrc_usage.ru_utime.tv_sec) + 45! (double) ((rsrc_usage.ru_utime.tv_usec) * 1.0e-06); 46! 47! prev = cur - prev; 48! return prev > 0 ? prev: 0; 49 } 50 51 void STATS_PageFlt(long *maj, long *min) { 52! static long ma, mi, ma_prev, mi_prev; 53! 54! 55! ma_prev = ma; 56! mi_prev = mi; 57! getrusage(RUSAGE_SELF, &flt_rsrc_usage); 58! 59! /* printrusage(&flt_rsrc_usage); */ 60! 61! mi = flt_rsrc_usage.ru_minflt - mi_prev; 62! ma = flt_rsrc_usage.ru_majflt - ma_prev; 63! 64! *maj = ma; 65! *min = mi; 66 } 67 68 long STATS_Allocated(void) { 69! static long allocated = 0L; 70! long tmp; 71! 72! tmp = allocated; 73! /** \todo: AT_calcAllocatedSize() is unreachable. Fix. */ 74! /*allocated = AT_calcAllocatedSize();*/ 75! 76! return allocated - tmp; 77 } 78 79 long STATS_ResidentSetSize(void) { 80! getrusage(RUSAGE_SELF, &rsrc_usage); 81! 82! return rsrc_usage.ru_maxrss; 83 } 84 85 86--- 2,29 ---- 87 88 #include <unistd.h> 89 #include <stdio.h> 90 #include "rsrc-usage.h" 91 92 /*static int AT_calcAllocatedSize();*/ 93 94 void printrusage(struct rusage *rusage) { 95 } 96 97 double STATS_Timer(void) { 98! return 0; 99 } 100 101 void STATS_PageFlt(long *maj, long *min) { 102! *maj = 0; 103! *min = 0; 104 } 105 106 long STATS_Allocated(void) { 107! return 0; 108 } 109 110 long STATS_ResidentSetSize(void) { 111! return 0; 112 } 113 114