Efficiency Sanitizer: Google will Performance-Lücken mit LLVM finden
Den Compilerbaukasten LLVM wollen Google-Entwickler um Werkzeuge erweitern, die typische Leistungsprobleme von Code auffinden sollen. Ähnliche Konzepte zur Adress- und Speicherverwaltung werden bereits erfolgreich eingesetzt.

Mit Werkzeugen wie dem Address-, Memory- oder auch Thread-Sanitizer können Nutzer von LLVM schon jetzt durch das Kompilieren Fehler auffinden und den Code verbessern. Der Google-Entwickler Derek Bruening schlägt nun ein weiteres derartiges Werkzeug vor, das zurzeit den Namen Efficiency-Sanitizer (Esan) trägt. Damit sollen Leistungsprobleme im eigenen Code aufgefunden werden können.
Bei Esan soll es sich den Plänen von Bruening zufolge um eine Sammlung kleinerer Hilfsmittel handeln, die jeweils sehr spezifische Probleme im Code auffinden können sollen. Dabei soll aber nicht nur der Fehler gefunden werden können, sondern die Sammlung soll vielmehr dabei helfen, herauszufinden, warum diese auftreten. Denn mit derzeit verfügbaren Methoden wie etwa Performance-Countern sei solch eine Kontextanalyse stark begrenzt.
Ähnliche Funktion zu bestehenden Sanitizern
Die geplanten Werkzeuge sollen einen sogenannten Schattenspeicher benutzen, in dem Metadaten über die Data-Referenzen gespeichert werden sollen, wobei der Compiler selbst das Laden und Speichern des Schattenspeichers verwalten soll. Eine dazugehörige Laufzeitbibliothek schneide zudem Aufrufe der C-Standard-Bibliothek mit ebenso wie Zuweisungen auf dem Heap oder ähnliche "Schlüssel-Ereignisse". Damit arbeite Esan sehr ähnlich zu den eingangs erwähnten Sanitizern und soll auch Code dieser Projekte wiederverwenden.
Einige Anwendungsfälle für die Werkzeuge stehen auch schon fest. So soll damit eine Fragmentierung des Caches aufgefunden werden. Ebenso sollen Informationen über die Größen einzelner Datenmengen untersucht werden können, um etwa herauszufinden, ob diese im L3-Cache Platz finden oder deutlich größer sind. Anwender sollen ebenfalls über redundante Schreibzugriffe auf den Speicher informiert werden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Den Static Analyzer von clang/llvm gibts schon etwas länger. Im Prinzip versucht das Tool...