Leistungsbewertung und Profiling
Welche Eigenschaft von Profilern nach dem Sampling-Verfahren ist richtig?
- ASie zeichnen ohne ein einziges Auslassen jeden Eintritt und Austritt aller Funktionen auf
- BDas Programm wird in festen Abständen unterbrochen, die gerade ausgeführte Stelle aufgezeichnet, und häufig aufgezeichnete Stellen gelten als zeitintensive Stellen
- CSie lesen nur den Quellcode des Programms, ohne es auszuführen
Antwort und Erläuterung anzeigen
Antwort: B. Das Programm wird in festen Abständen unterbrochen, die gerade ausgeführte Stelle aufgezeichnet, und häufig aufgezeichnete Stellen gelten als zeitintensive Stellen
Beim Sampling-Verfahren werden durch Interrupts von Timern oder Leistungszählern z. B. einige tausend Mal pro Sekunde die Stelle des gerade ausgeführten Befehls (und die Aufrufkette) aufgezeichnet. Je mehr Zeit eine Stelle beansprucht, desto häufiger wird sie aufgezeichnet, sodass statistisch erkennbar ist, wo es schwer ist. Da das Programm nicht verändert wird, ist die Messverzögerung gering und es wird in einem Zustand nahe der Realität gemessen, doch die genaue Anzahl sehr kurzer Verarbeitungen ist nicht erkennbar.