Up Right Experimente mit perf

Versuch zur Demonstration der Lokalität

Ein primitives Programm initialisiert eine 1024x1024-Integer Matrix.
Mit Option s tut es das Spaltenweise, sonst Zeilenweise.

Die Analyse mit dem Tool perf Tool offenbart die Konsequenzen:
(perf stat -x: ./mattest z bzw. perf stat -x: ./mattest s)

Zeilenweise Speicherung,
zeilenweise Abarbeitung
Zeilenweise Speicherung,
spaltenweise Abarbeitung
Bemerkungen
task-clock-msecs38,903359260,158494 Faktor 6.68 Zeitverlust
context-switches515
CPU-migrations00
page-faults22882288
cycles6310832234229
instructions1051710831
branches21074351959567
branch-misses929710704
cache-references4374952145450 Faktor 4.9 mehr
cache-misses6371722243381 Faktor 3.52 mehr

Wiederholung 2013 auf x86_64: Die Default-Events sind anders:

 perf stat -e cache-misses,cycles,instructions ./mattest z

Bemerkungen:


Rudolf Weber Informatik- und Netzwerkverein Ravensburg e.V