is a commercial performance and memory usage profiling tool for Win32 development. It places hooks in your code at run-time, thus it doesn't require a special build of your software. This approach has some minor limitations -- for instance, very small routines (smaller than the hook code) cannot be profiled. The UI has a few rough edges, but in general it's very easy to use and meets many common profiling needs.
for more information.
I found GlowCode
after getting very frustrated with TrueTime
, which I had been using previously. TrueTime
was having some stability problems in the VC7.0 environment -- not surprising, since that version was still pretty new. But TrueTime
's requirement for a special build had always been a big headache for me, since our system under normal conditions takes over an hour to build from scratch, and the builds with TrueTime
are much slower yet. I was (and still am) thrilled that GlowCode
can place hooks in most of the program in at most a few minutes. It gives you very nice control over what functions or files get profiled, and it can trigger profiling on a specific function if desired. I now profile code far more often than I used to.
I haven't done anything with the memory profiling features of GlowCode
is considerably less expensive than TrueTime
, to the extent that I had no trouble talking my otherwise budget-conscious employer into purchasing a license.
I created this page because I'm a happy customer and wanted to share this with others. I have no other affiliation with the vendor of GlowCode
, Electric Software. -- DanMuller
I'll second the praise. We formerly used Purify/Quantify, but had real issues with its performance, stability, and licensing. GlowCode
does the most important 80% of what the more expensive tools do, with better performance, better stability, and less flaming hoops to jump through (for example, to move it from system to system to check different configurations). We calculated the first two licenses it paid for themselves after three weeks; it's now part of our standard developer loadout on Win32.
The biggest issue I have with it is that unlike some other profiles (like the lost, lamented HiProf?
only profiles WallClockTime?
, so the results tend to be rather skewed for multi-threaded applications where some threads are sleeping.
I've been evaluating GlowCode
and found it extremely useful. While it isn't quite as powerful and possibly not as accurate as IntelVTune, you don't have to jump through any instrumentation hoops to use it, and better yet, you can attach to a process that has gone into a "bad performance" state and actually see what the difference in performance behavior is - something you could never do with an instrumenting profiler. -- JoiSigurdsson