← Back to team overview

dolfin team mailing list archive

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