Seite wählen

Builds beschleunigen mit ccache

von | Jul 18, 2013 | Development, C++

Builds beschleunigen mit ccache
Wer häufig größere C-/C++-Projekte neukompilieren muss, kennt das Problem: Nach „make clean“ oder „configure“ mit geänderten Flags kann man sich eigentlich erstmal eine Tasse Kaffee holen, da „make“ teilweise Minuten lang braucht.
Abhilfe schafft hier ccache, indem nur noch tatsächlich geänderte Dateien neukompiliert werden. Am einfachsten lässt es sich mit dem jeweiligen Paketmanager installieren, z.b. per „apt-get install ccache“ unter Debian oder Ubuntu.
Danach muss die ~/.bashrc-Datei bearbeitet werden und folgende Zeilen am Ende eingefügt werden:

export CC="ccache gcc"
export CXX="ccache g++"

Damit die Änderungen Wirkung tragen, muss man sich neu-anmelden oder alternativ einmalig folgenden Befehl verwenden:

source ~/.bashrc

Danach sollten die beiden Environment-Variablen gesetzt sein:

$ export | egrep CC\|CXX
declare -x CC="ccache gcc"
declare -x CXX="ccache g++"

Bei Projekten, die autoconf verwenden, muss nun „configure“ erneut aufgeführt werden, damit beim nächsten „make“ auch tatsächlich ccache verwendet wird.
Je nachdem, wie stark sich das eigene Projekt zwischen Rebuilds ändert, umso mehr Zeit sollte ccache einem ersparen. In meinem Fall bei Icinga 2 haben sich die Buildzeiten im Durchschnitt jeweils um 3-4 Minuten verkürzt.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Mehr Beiträge zum Thema Development | C++

Mein PHP-Trainingsprojekt

PHP Schulung Vor kurzem haben wir begonnen, eine neue Programmiersprache zu lernen – PHP. In der ersten Woche haben wir mit den Grundlagen wie Variablen, Arrays, Schleifen begonnen und uns schrittweise zu komplizierterer Syntax wie Funktionen, Objekten und Klassen...

check_prometheus ist jetzt öffentlich verfügbar!

Monitoring ist komplex, das wissen wir hier bei NETWAYS leider zu gut. Deswegen laufen in der Infrastruktur auch mal gerne mehrere Tools für die Überwachung. Zwei gern gesehene Kandidaten sind dabei Icinga und Prometheus. Icinga und Prometheus erfüllen...