15 #include "memoryUsagePointerCounts.h"
17 #ifdef DO_MEMORY_USAGE
19 #include "memoryInfo.h"
26 void MemoryUsagePointerCounts::
27 add_info(MemoryInfo *info) {
30 if (info->is_size_known()) {
31 _size += info->get_size();
33 _unknown_size_count++;
42 void MemoryUsagePointerCounts::
43 output(ostream &out)
const {
44 out << _count <<
" pointers";
45 if (_unknown_size_count < _count) {
47 output_bytes(out, _size);
49 output_bytes(out, _size / (_count - _unknown_size_count));
52 if (_unknown_size_count != 0) {
53 out <<
" (" << _unknown_size_count <<
" of unknown size)";
64 void MemoryUsagePointerCounts::
65 output_bytes(ostream &out,
size_t size) {
66 if (size < 4 * 1024) {
67 out << size <<
" bytes";
69 }
else if (size < 4 * 1024 * 1024) {
70 out << size / 1024 <<
" Kb";
73 out << size / (1024 * 1024) <<
" Mb";
77 #endif // DO_MEMORY_USAGE