What's the Best Way to Measure Memory Use from a Program?

I've been trying to optimize the Windows program I am developing, trying to find the best data structures that will minimize memory use. It loads large blocks of data, so with huge files, it can use a large amount of RAM.

For memory measurement, I have been using GlobalMemoryStatusEx. See: http://msdn.microsoft.com/en-us/library/aa366589(VS.85).aspx

I believe this works for most flavors of Windows, from Windows 2000 right up to and including Windows Vista.

Is this the preferred way to measure memory use from within a program, or is there another, better way?


Addenum: Found the Stackoverflow question: How to get memory usage under Windows in C++ which references GetProcessMemoryInfo

I'll try that one out.

Answers


If you are trying to optimize your own program memory-wise, I suggest you use a memory profiler tool for that. There are many out there...some are free, some are not..you will surely find the one you need. Those tools are written specifically for what you need (and also for memory leaks search) so...it will be hard to compare with them and do something like that on your own from your own program :)


See the addenum in my question.


Need Your Help

jQuery UI: Draggable Scroll Issue

jquery jquery-ui positioning jquery-ui-draggable mousewheel

I'm trying to build a draggable/droppable folder-file view with jQuery UI, but I'm running into a problem with, what I believe is attributed to the helper. Here is my code:

JavaScript/jQuery: hasDescendant / hasAncestor

javascript jquery html dom descendant

Hilariously, I'm having incredible difficulty finding any half-good way to determine whether or not an HTML element is inside another one or not -- which seems like it should be a basic core featur...

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.