---------- Forwarded message ---------- From: <nore...@launchpad.net> Date: Sat, Oct 27, 2012 at 1:27 AM Subject: [Branch ~dolfin-core/dolfin/trunk] Rev 7037: Use long unsigned int for number of bytes used by memory usage
Would std::size_t be more appropriate? Garth ------------------------------------------------------------ revno: 7037 committer: Anders Logg <logg@glaurung> branch nick: trunk-logg timestamp: Fri 2012-10-26 17:25:10 -0700 message: Use long unsigned int for number of bytes used by memory usage monitor to avoid overflow modified: ChangeLog dolfin/log/Logger.cpp dolfin/log/Logger.h -- lp:dolfin https://code.launchpad.net/~dolfin-core/dolfin/trunk Your team DOLFIN Core Team is subscribed to branch lp:dolfin. To unsubscribe from this branch go to https://code.launchpad.net/~dolfin-core/dolfin/trunk/+edit-subscription === modified file 'ChangeLog' --- ChangeLog 2012-10-26 04:16:29 +0000 +++ ChangeLog 2012-10-27 00:25:10 +0000 @@ -1,4 +1,5 @@ 1.1.0 [not yet released] + - Add memory usage monitor: monitor_memory_usage() - Compare mesh hash in interpolate_vertex_values - Add hash() for Mesh and MeshTopology - Expose GenericVector::operator{+=,-=,+,-}(double) to Python === modified file 'dolfin/log/Logger.cpp' --- dolfin/log/Logger.cpp 2012-10-27 00:04:58 +0000 +++ dolfin/log/Logger.cpp 2012-10-27 00:25:10 +0000 @@ -61,7 +61,7 @@ // Get process ID and page size const dolfin::uint pid = getpid(); - const dolfin::uint page_size = getpagesize(); + const long unsigned int page_size = getpagesize(); // Print some info std::stringstream s; @@ -83,12 +83,12 @@ statm.open(filename.str().c_str()); if (!statm) logger->error("Unable to open statm file for process."); - dolfin::uint num_pages; + long unsigned int num_pages; statm >> num_pages; statm.close(); // Convert to MB and report memory usage - const dolfin::uint num_mb = num_pages*page_size / (1024*1024); + const long unsigned int num_mb = num_pages*page_size / (1024*1024); logger->_report_memory_usage(num_mb); } } @@ -348,13 +348,13 @@ #endif } //----------------------------------------------------------------------------- -void Logger::_report_memory_usage(uint num_mb) +void Logger::_report_memory_usage(long unsigned int num_mb) { std::stringstream s; s << "Memory usage: " << num_mb << " MB"; log(s.str()); _maximum_memory_usage = std::max(_maximum_memory_usage, - static_cast<int>(num_mb)); + static_cast<long int>(num_mb)); } //----------------------------------------------------------------------------- void Logger::__debug(std::string msg) const === modified file 'dolfin/log/Logger.h' --- dolfin/log/Logger.h 2012-10-27 00:04:58 +0000 +++ dolfin/log/Logger.h 2012-10-27 00:25:10 +0000 @@ -105,7 +105,7 @@ void monitor_memory_usage(); /// Helper function for reporting memory usage - void _report_memory_usage(uint num_mb); + void _report_memory_usage(long unsigned int num_mb); /// Helper function for dolfin_debug macro void __debug(std::string msg) const; @@ -142,7 +142,7 @@ boost::thread* _thread_monitor_memory_usage; // Maximum memory usage so far - int _maximum_memory_usage; + long int _maximum_memory_usage; }; -- Garth N. Wells Department of Engineering, University of Cambridge http://www.eng.cam.ac.uk/~gnw20
=== modified file 'ChangeLog' --- ChangeLog 2012-10-26 04:16:29 +0000 +++ ChangeLog 2012-10-27 00:25:10 +0000 @@ -1,4 +1,5 @@ 1.1.0 [not yet released] + - Add memory usage monitor: monitor_memory_usage() - Compare mesh hash in interpolate_vertex_values - Add hash() for Mesh and MeshTopology - Expose GenericVector::operator{+=,-=,+,-}(double) to Python === modified file 'dolfin/log/Logger.cpp' --- dolfin/log/Logger.cpp 2012-10-27 00:04:58 +0000 +++ dolfin/log/Logger.cpp 2012-10-27 00:25:10 +0000 @@ -61,7 +61,7 @@ // Get process ID and page size const dolfin::uint pid = getpid(); - const dolfin::uint page_size = getpagesize(); + const long unsigned int page_size = getpagesize(); // Print some info std::stringstream s; @@ -83,12 +83,12 @@ statm.open(filename.str().c_str()); if (!statm) logger->error("Unable to open statm file for process."); - dolfin::uint num_pages; + long unsigned int num_pages; statm >> num_pages; statm.close(); // Convert to MB and report memory usage - const dolfin::uint num_mb = num_pages*page_size / (1024*1024); + const long unsigned int num_mb = num_pages*page_size / (1024*1024); logger->_report_memory_usage(num_mb); } } @@ -348,13 +348,13 @@ #endif } //----------------------------------------------------------------------------- -void Logger::_report_memory_usage(uint num_mb) +void Logger::_report_memory_usage(long unsigned int num_mb) { std::stringstream s; s << "Memory usage: " << num_mb << " MB"; log(s.str()); _maximum_memory_usage = std::max(_maximum_memory_usage, - static_cast<int>(num_mb)); + static_cast<long int>(num_mb)); } //----------------------------------------------------------------------------- void Logger::__debug(std::string msg) const === modified file 'dolfin/log/Logger.h' --- dolfin/log/Logger.h 2012-10-27 00:04:58 +0000 +++ dolfin/log/Logger.h 2012-10-27 00:25:10 +0000 @@ -105,7 +105,7 @@ void monitor_memory_usage(); /// Helper function for reporting memory usage - void _report_memory_usage(uint num_mb); + void _report_memory_usage(long unsigned int num_mb); /// Helper function for dolfin_debug macro void __debug(std::string msg) const; @@ -142,7 +142,7 @@ boost::thread* _thread_monitor_memory_usage; // Maximum memory usage so far - int _maximum_memory_usage; + long int _maximum_memory_usage; };
_______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : dolfin@lists.launchpad.net Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp