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.

Artikel veröffentlicht am ,
LLVM soll um einen Efficiency-Sanitizer erweitert werden.
LLVM soll um einen Efficiency-Sanitizer erweitert werden. (Bild: LLVM)

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
25 Jahre Starcraft
Der E-Sport-Dauerbrenner

Vor 25 Jahren erschien mit Starcraft eines der wichtigsten und wegweisendsten Echtzeitstrategiespiele aller Zeiten. Macht der RTS-Hit von Blizzard auch heute noch Spaß?
Von Andreas Altenheimer

25 Jahre Starcraft: Der E-Sport-Dauerbrenner
Artikel
  1. Angeblicher ARD-Plan: Rundfunkbeitrag könnte auf über 25 Euro steigen
    Angeblicher ARD-Plan
    Rundfunkbeitrag könnte auf über 25 Euro steigen

    Laut einem Bericht wollen die öffentlich-rechtlichen Sender eine Anhebung des Rundfunkbeitrags auf bis zu 25,19 Euro pro Monat fordern.

  2. Smart-Home-Anwendung: MQTT unter Java nutzen
    Smart-Home-Anwendung
    MQTT unter Java nutzen

    Wer Daten von Sensoren oder ähnlichen Quellen von A nach B senden möchte, kann das Protokoll MQTT verwenden, dank entsprechender Bibliotheken auch einfach unter Java.
    Eine Anleitung von Florian Bottke

  3. E-Fuels: VDA begrüßt Verbrennerkompromiss, Greenpeace übt Kritik
    E-Fuels
    VDA begrüßt Verbrennerkompromiss, Greenpeace übt Kritik

    Die Einigung zwischen EU-Kommission und Bundesregierung zu Verbrennermotoren ruft erste Reaktionen hervor.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • MediaMarkt-Osterangebote • 3 Spiele kaufen, 2 zahlen • Cyberport Jubiläums-Deals • MSI Optix 30" WFHD/200 Hz 289€ • WD_BLACK SN850 2 TB 189€ • Creative Sound Blaster X G6 99,99€ • Thrustmaster T300 RS GT PC/PS 290€ • Logitech G535 Lightspeed 69,99€ • NBB Black Weeks [Werbung]
    •  /