How do you guys measure your driver’s performance impact? Thought about using Intel VTune, but is there something better?
Performance impact? As in how what your driver does affects other parts of the system?
Or performance? As in what parts of your driver take a long time or use a lot of CPU cycles?
For the second one, Intel vTune is the standard tool, but there are others. The first one can also be looked at using the same tools, but the analysis is harder
That question is as philosophical as it is technical. Most drivers have no impact at all when their path is not in use. For many drivers, the driver time is irrelevant compared to hardware latency. A driver that's just translating requests from user mode API to hardware register accesses is essentially irrelevant.
So, what do you mean by that?
Just to quibble with Tim, the very existence of a driver has some impact on the system. It takes up some amount of space on disk and in memory and therefore has some impact on the performance of the system even while idle.
And Tim is right that drivers that control real hardware should be orders of magnitude faster than the hardware that they control. But there are many software drivers that consume significant CPU cycles in their own right.