Meßergebnisse für alle ausgewählten Schleifen einer Routine erhält man mit
analyze loop [ROUTINE] ,
ohne Routinennamen für alle Routinen. Sie werden in zwei Tabellen
dargestellt. Da der Compiler Schleifen erst ab der Optimierungsstufe -O1
erkennt, machen Schleifenanalysen für niedrigere Optimierung keinen Sinn
und liefern falsche Werte. Als Beispiel sehen wir uns die Ergebnisse für
die Routine ``lubksb'' an:
| Loop Performance Analysis | |||||
| For lubksb.f:lubksb | |||||
| Line | Times | Iteration Count | |||
| Number | Exec. | Min | Max | Avg | Total CPU Time |
| 32 | 101 | 100 | 100 | 100 | 0.049237 |
| 37 | 5049 | 1 | 99 | 33 | 0.018813 |
| 45 | 101 | 99 | 99 | 99 | 0.077001 |
| 48 | 9999 | 1 | 99 | 50 | 0.047125 |
| Loop Transformation Performance Analysis | ||||||||
| For lubksb.f:lubksb | ||||||||
| Line | Trans | Times | Iteration Count | |||||
| Number | Formation | Exec. | Min | Max | Avg | Total CPU Time | ||
| 32 | 0 | . | S | 101 | 100 | 100 | 100 | 0.030424 |
| 37 | 1 | . | SM | 5049 | 1 | 99 | 33 | 0.018813 |
| 45 | 0 | . | S | 101 | 99 | 99 | 99 | 0.029876 |
| 48 | 1 | . | SM | 9999 | 1 | 99 | 50 | 0.047125 |
![]()