Leistungsbewertung und Profiling
Das Programm ist langsam, doch die CPU-Auslastung war mit etwa 20 % niedrig. Was ist die wahrscheinlichste Ursache?
- ADie CPU-Berechnung ist zu schnell
- BDie Befehlszahl des Programms ist zu klein
- CEs wird lange ohne Nutzung der CPU gewartet, z. B. auf Platten- oder Netzwerk-Ein-/Ausgabe oder auf Sperren (Locks)
Antwort und Erläuterung anzeigen
Antwort: C. Es wird lange ohne Nutzung der CPU gewartet, z. B. auf Platten- oder Netzwerk-Ein-/Ausgabe oder auf Sperren (Locks)
Ist die CPU-Auslastung niedrig und das Programm dennoch langsam, wird vermutlich die meiste Zeit auf etwas außerhalb der CPU gewartet: Lesen und Schreiben der Platte, Antwort des Netzwerks, Freigabe einer Sperre durch einen anderen Thread usw. In diesem Fall bringen eine schnellere CPU oder die Optimierung des Rechencodes kaum etwas. Wirksam sind das Bündeln von Ein-/Ausgabe, Asynchronität, sodass während des Wartens andere Verarbeitung voranschreitet, und kleinere Sperrbereiche.