Handy memory management tool
Written: Oct 27 '09 (Updated Oct 28 '09)
|
Product Rating:
|
|
|
Pros: Integration with IDE, Memory corruption detection
Cons: Hangs with bulky applications
The Bottom Line: Rational Purify is a very handy tool for memory management in C applications.
|
|
|
| ram_cv's Full Review: IBM Rational Purify |
Introduction C++ is one of the most powerful languages of all time for software developers. Despite newer languages with lot more new features, the purists still prefer C++. Also given the performance of the C++ code, it is still preferred for applications that are performance sensitive. But the biggest problem that any lead needs to tackle with C++ development is memory management. Tools such as Rational Purify help on this very aspect.
The Tool Rational Purify is a memory profiler i.e. a tool that identifies issues related with memory management of an application. Memory issues include memory leaks, memory corruption, uninitialized memory and freeing memory which is not allocated. All these issues are addressed by Rational Purify.
Rational Purify supports the following features:
1) Memory Leak and Corruption detection: Probably the single most useful feature of Rational Purify as this allows developers to pinpoint hard to detect memory issues. Especially in multi-threaded applications Rational Purify is really handy in detecting such issues. Memory issues reported by Purify include Memory leaks, Uninitialized Memory Read and Freeing invalid memory.
2) Adds on to the Visual Studio IDE: This feature is very handy as it allows Purify to be embedded in the VS IDE and thus makes it easy to instrument C++ code.
3) Selective Instrumentation: One feature which I have liked very much is selective instrumentation, so you can choose the modules that you think are most susceptible in terms of memory and thus restrict your memory profiling to that. System RequirementsRational Purify can run on Pentium III or above. Although IBM does not mention any minimum requirement for RAM, I think we need to have 2 - 4 GB of RAM on the system where we want to run it. Geeks Viewpoint
No doubt, Purify is very useful in identifying memory issues and it's integration with code means that you can directly go to the exact line of code that leaks the memory or results in memory corruption. I found it to be the best in the business on that aspect. But then there are some really painful aspects of using Rational Purify. Scalability is one of the major pain points of Purify. It works wonderfully well with small applications. But, it is an extremely bulky software, so if you instrument a decently big application, Purify would completely hog all the memory while executing. It will also take a huge huge time to execute. For big projects, it simply hangs a lot of the time and then you have to go and restrict your instrumentation to one component at a time and then do the task in a very slow manner.
The other issues is that in case you are using libraries and use their APIs intricately in your application, it is not always very clear whether the memory issue is attributed to the actual application or the underlying library.
Purify is a licensed software and you have the options of node locked or server based licenses. So that gives options of sharing a license amongst members within the team which is very handy.
Summary
All in all Rational Purify is a very handy tool for memory management in C++ programs. I would give this tool a high 4 star rating.
Recommended:
Yes
|
|
|
|
Epinions.com ID: ram_cv
|
|
Location: India
Reviews written: 267
Trusted by: 16 members
About Me: A movie, sports, travel and books buff
|
|
|