|
From: Scott M. <sm...@no...> - 2004-11-10 21:21:51
|
Hi, I'm very new to this tool, so forgive me for the basic nature of this question. It's well documented that Valgrind - cachegrind will slow execution of a program 20 -- 100x than normal. My question is... How is the integrity of the performance metrics (how long was spent in a certain routine, etc.) preserved with such a slowdown in the execution time? Does the bulk of the overhead happen after the execution of the target program? Does the tool compensate for the lag in some way? Thx in advance, Scott. |
|
From: Nicholas N. <nj...@ca...> - 2004-11-11 08:32:46
|
On Wed, 10 Nov 2004, Scott Mills wrote: > It's well documented that Valgrind - cachegrind will slow execution of a > program 20 -- 100x than normal. My question is... > > How is the integrity of the performance metrics (how long was spent in a > certain routine, etc.) preserved with such a slowdown in the execution time? > Does the bulk of the overhead happen after the execution of the target > program? Does the tool compensate for the lag in some way? It varies from tool to tool, but the performance metric integrity is not maintained at all; there is no compensation. The client's original code is transformed, and added instrumentation code is intermingled, sometimes very heavily. So I don't think Valgrind would be much good with real-time apps, for example. If you give more details about why you are asking this question, we might be able to give you more specific information. HTH N |