Manchmal kann Code Gerätetreiber verwenden, bis das System nicht mehr reagiert.Messgerätetreiber CPU/IO-Auslastung durch mein Programm
In letzter Zeit habe ich einen WIN32/VC++ - Code optimiert, der das System fast nicht mehr anspricht. Die CPU-Auslastung war jedoch sehr niedrig. Der Grund waren 1000er Schöpfungen und Zerstörungen von GDI-Objekten (Stifte, Pinsel, etc.). Sobald ich den Code umstrukturierte, um alle Objekte nur einmal zu erstellen, reagierte das System wieder.
Das führt mich zu der Frage: Gibt es eine Möglichkeit, die CPU/IO-Nutzung von Gerätetreibern (GPU/Festplatte/etc) für ein bestimmtes Programm/eine bestimmte Funktion/Codezeile zu messen?
Wenn Sie die Wirkung Ihres Programms als Ganzes sehen möchten, öffnen Sie den Prozess-Explorer und sehen Sie sich Threads im Systemprozess und unter csrss.exe an. Nicht sicher, ob es möglich ist, das mit der Linie/Methode usw. zu korrelieren. –
Werfen Sie einen Blick auf [diese Methode] (http://stackoverflow.com/questions/375913/what-cani-i-use-to-profile-c-code-in-linux/378024#378024). Seine Messungen sind sehr grob, aber es sagt Ihnen genau, bis zu der Codezeile, was die Zeit braucht und ob es I/O oder CPU ist. –