yigal
yigal

Reputation: 4745

How to count context switches programmatically?

Under windows, is there anyway to programmatically count context switches of the same process? The best thing is a callback that gets called whenever a thread is switched.

Upvotes: 3

Views: 2088

Answers (2)

Wim ten Brink
Wim ten Brink

Reputation: 26682

Problem with counting your own context switches is that you might be switching contexts while counting them! Worse, your own counting code will subtract from the amount of time your own process has, thus you can execute less within one context cycle.

As "On Freund" (+1) says, use the performance counter instead, which counts contexts at a higher level.

Upvotes: 2

On Freund
On Freund

Reputation: 4436

There's a performance counter that does the work for you. All you have to do is read its value. You can find a description on how to do it interactively here, but performance counters can also be consumed using their API.

Upvotes: 8

Related Questions