Skip Nav
Home » Forums » SystemC Forum

Icon - KMLM List KMLM List

View email archives for the history of this mailing list.

List Home All Archives Dates Threads Authors Subjects
systemc-forum - Re: [systemc-forum] Memory meter Message Thread: Previous | Next
  • To: Lucas Giraudo <lucas.giraudo@xxxxxxxxxxxxxxx>
  • From: "Philipp A. Hartmann" <philipp.hartmann@xxxxxxxx>
  • Date: Mon, 15 Nov 2010 14:19:03 +0100
  • Cc: systemc-forum@xxxxxxxxxxxxxxxxx
Send Email to systemc-forum@lists.systemc.org:
Send new message
Reply to this message
Lucas,

On 15/11/10 13:52, Lucas Giraudo wrote:
> 
> I`m run a program in C++, and this instance a SystemC module, I have that
> establish how much memory consume the SystemC module apart the rest of the
> program.

I would say that this is not possible (non-intrusively).  I'm tempted to
say, that this is not even sensible.

  What is this "memory consumed by the SystemC module" anyway?  Does
this include internal allocations by the SystemC implementation you link
to?  How do you identify, which parts "belong" to your module?  What
about memory pools and other custom allocators?

  You can of course add special "memory allocation tracking" code to
your application (use your favourite $SEARCHENGINE for more
information).  The analysis and the calculation of the required
statistics would then be part of these tracking hooks.  This usually
only covers heap-allocated memory, not the stack.

  You could for instance try to maintain an "inside SystemC" flag to
your global allocation tracker or separate the parts by compiling the
SystemC subsystem as a separate library.

All of this is quite specific to your platform and your use-case, of course.

Greetings from Oldenburg,
Philipp

> 2010/11/13 Philipp A. Hartmann <philipp.hartmann@xxxxxxxx>
> 
>> Lucas,
>>
>> On 12/11/10 23:19, Lucas Giraudo wrote:
>>> Hi, I'm trying to determine the memory consumed by the different class of
>> a
>>> program in C++, Have you any software to measure this?
>>
>> unfortunately, it's not exactly clear to me what you want to measure.
>> The "memory consumed by a class" might be as easy as the "sizeof"
>> operator in C++:
>>
>> #include <cassert>
>> struct foo { double d; };
>> int main()
>> {
>>  assert( sizeof( foo ) == sizeof( double ) );
>> }
>>
>> But this of course only covers the "static size" of your classes.  If
>> they allocate additional memory during runtime, this can not be
>> determined by sizeof.
>>
>> If you want to look at the overall memory/heap consumption of your
>> program over the time, you can have a look at the Valgrind tool suite.
>> IIRC, they have a heap profiler.


-- 
Philipp A. Hartmann
Hardware/Software Design Methodology Group

OFFIS Institute for Information Technology
R&D Division Transportation · FuE-Bereich Verkehr
Escherweg 2 · 26121 Oldenburg · Germany
Phone/Fax: +49-441-9722-420/282 · PGP: 0x9161A5C0 · http://www.offis.de/


By Date: Previous | Next Current Thread By Thread: Previous | Next