Changeset 52 for sources/src/usage.h
- Timestamp:
- Jan 22, 2013, 4:23:22 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/src/usage.h
r1 r52 1 1 /*------------------------------------------------------------\ 2 | |3 | Tool : systemcass |4 | |5 | File : usage.h |6 | |7 | Author : Buchmann Richard |8 | |9 | Date : ??_??_2005 |10 | |11 \------------------------------------------------------------*/2 | | 3 | Tool : systemcass | 4 | | 5 | File : usage.h | 6 | | 7 | Author : Buchmann Richard | 8 | | 9 | Date : ??_??_2005 | 10 | | 11 \------------------------------------------------------------*/ 12 12 13 13 /* … … 33 33 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 34 34 */ 35 35 36 #ifndef __USAGE_H__ 36 37 #define __USAGE_H__ … … 42 43 43 44 struct usage_t { 44 unsigned int elapsed_time; 45 long memory_size; 46 usage_t () 47 { 48 elapsed_time = 0; 49 memory_size = 0; 50 } 51 void start () 52 { 53 struct rusage usage; 54 getrusage(RUSAGE_SELF, &usage); 55 elapsed_time = usage.ru_utime.tv_sec; 56 memory_size = usage.ru_maxrss; 57 } 58 void cont () 59 { 60 struct rusage usage; 61 getrusage(RUSAGE_SELF, &usage); 62 elapsed_time = usage.ru_utime.tv_sec - elapsed_time; 63 memory_size = usage.ru_maxrss; 64 } 65 void stop () 66 { 67 cont (); 68 } 69 operator unsigned int () const 70 { return elapsed_time; } 71 long get_memory_size () const 72 { return memory_size; } 73 friend std::ostream& operator << (std::ostream& o, const usage_t &c) 74 { 75 return o << c.elapsed_time << "seconds"; 76 } 45 unsigned int elapsed_time; 46 long memory_size; 47 usage_t() { 48 elapsed_time = 0; 49 memory_size = 0; 50 } 51 52 void start() { 53 struct rusage usage; 54 getrusage(RUSAGE_SELF, &usage); 55 elapsed_time = usage.ru_utime.tv_sec; 56 memory_size = usage.ru_maxrss; 57 } 58 59 void cont() { 60 struct rusage usage; 61 getrusage(RUSAGE_SELF, &usage); 62 elapsed_time = usage.ru_utime.tv_sec - elapsed_time; 63 memory_size = usage.ru_maxrss; 64 } 65 66 void stop() { 67 cont(); 68 } 69 70 operator unsigned int () const { 71 return elapsed_time; 72 } 73 74 long get_memory_size () const { 75 return memory_size; 76 } 77 78 friend std::ostream & operator << (std::ostream & o, const usage_t & c) { 79 return o << c.elapsed_time << "seconds"; 80 } 81 77 82 }; 78 83 79 84 #endif 80 85 86 /* 87 # Local Variables: 88 # tab-width: 4; 89 # c-basic-offset: 4; 90 # c-file-offsets:((innamespace . 0)(inline-open . 0)); 91 # indent-tabs-mode: nil; 92 # End: 93 # 94 # vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4 95 */ 96
Note: See TracChangeset
for help on using the changeset viewer.