1

As I watch the task manager in windows display ram and cpu usage, I wondered if it has any effect at all on the performance of the system. When starting to create my own programs, things like using threads for a gui and calculating percentage of a function complete, requires some small performance hit to query back to the gui thread that something is updated (maybe im just doing it wrong).

Does task manager act the same way, in which it has to track the cpu usage and then update, or is this cpu usage always calculated and displaying task manager does no extra computation?

user-2147482637
  • 2,115
  • 8
  • 35
  • 56

2 Answers2

1

It certainly does have an effect. The performance metrics may be gathered regardless of whether Task Manager is running. But when Task Manager is running, you are also using additional resources (RAM, processor timeslices, etc.) to display the Task Manager window, additional resources to update the graphics in the Task Manager window, and so on.

Craig Tullis
  • 9,939
  • 2
  • 21
  • 21
0

I've always noticed that TM has a significant impact. This impact has two phases, startup and steady state. Both are significant. Startup requires page swaps, setting up all the process information, etc. I've always observed CPU and disk usage spikes. Afterwards, they settle down into a steady state that still is significant enough to skew results in CPU.

When I did profiling, I'd use TM to collect statistics on those metrics that TM didn't consume. To obtain statistics on processor usage and other stats that TM use skews, I used Intel's VTune product as it collects this information non-evasively. Most processors, e.g. Intel, have internal registers that collect processor and other statistics with almost no performance impact since the HW collects this performance info all the time. VTune just downloads it from registers. I think you can get evaluation copies of VTune.

Taylor Kidd
  • 1,463
  • 1
  • 9
  • 11