Иногда код может использовать драйверы устройств до такой степени, что система перестает отвечать на запросы.
Недавно я оптимизировал код WIN32/VC++, из-за чего система почти перестала отвечать. Однако загрузка процессора была очень низкой. Причиной стали тысячи создания и уничтожения объектов GDI (ручек, кистей и т.д.). Как только я рефакторил код, чтобы все объекты создавались только один раз - система снова стала отзывчивой.
Это приводит меня к вопросу: есть ли способ измерить использование ЦП/IO драйверов устройств (GPU/диск/и т. д.) для данной программы/функции/строки кода?