dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #26066
Re: Fwd: [Branch ~dolfin-core/dolfin/trunk] Rev 7037: Use long unsigned int for number of bytes used by memory usage
Yes, size_t seems to do the job.
--
Anders
On Sat, Oct 27, 2012 at 07:48:01AM +0100, Garth N. Wells wrote:
> ---------- Forwarded message ----------
> From: <noreply@xxxxxxxxxxxxx>
> 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
>
>
> === 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@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help : https://help.launchpad.net/ListHelp
References