Purify overhead

Swap space

At build time, a Purify'd program uses virtual memory (real memory plus swap space) equal to two to ten times the size of the program's largest uninstrumented object file or library.

At run time, a Purify'd program uses virtual memory equal to about 1.5 times that required by the non-instrumented program. Purify also uses swap space for an error-processing process it creates.

Performance

On average, your Purify'd program will run two to five times slower than your non-Purify'd program. The exact speed depends on how many errors Purify finds in your program, how your program uses memory, and the size of your program's virtual memory relative to your machine's real memory (RAM).

If your Purify'd program runs more than five times slower, it might be thrashing, that is, spending an excessive amount of time paging to disk. Use the vmstat command (Solaris, HP-UX) or osview or gr_osview command (IRIX) to see how much time your program is spending in kernel mode as opposed to user mode.

Typically, a program should be in user mode more than 80 percent of the time. If user mode drops to less than 50 percent, run your program on a machine with more real memory, try to increase the locality of your program's memory references to reduce paging, or increase the real memory of your machine. You can also use the -chain-length option to reduce the call chain length that Purify uses. This in turn reduces Purify's own memory requirements.

Note: