SCCACHE: Mozilla baut geteilten Compiler-Cache in Rust
Mit dem Programm Ccache(öffnet im neuen Fenster) können Programmierer ihre Kompiliervorgänge beschleunigen, weil damit nicht jedes Mal der komplette Code neu übersetzt wird, unveränderte Teile werden einfach wieder aus dem Cache übernommen. Mozilla-Entwickler haben diese Idee um einen Shared Cache in Sccache erweitert, um den Cache auf verschiedene Systeme und Build-Server verteilen zu können. Sccache ist nun in Rust neu geschrieben worden.
Wie der zuständige Enwickler Ted Mielczarek in seinem Blog(öffnet im neuen Fenster) schreibt, sei die Umsetzung in Rust bereits von Anfang an geplant gewesen. Zum Beginn der Arbeiten an Sccache seien Rust und sein Ökosystem aber noch nicht reif genug für eine derartige Aufgabe gewesen. Deshalb sei Sccache zunächst in Python erstellt worden. Der Port habe sich wegen verschiedener anderer Aufgaben auf einen Zeitraum von über sieben Monaten erstreckt.
Schnellere Build-Zeiten dank Rust
Der Wechsel von Python auf Rust habe das System ersten Tests zufolge erheblich beschleunigt. Vor allem der Configure-Schritt sei sowohl unter Linux als auch unter MacOS deutlich schneller als bisher, aber auch die Zeit zum Kompilieren konnte damit reduziert werden. Unter Windows seien die Zahlen wegen einer zu großen Variabilität der Ergebnisse noch nicht vergleichbar.
Die in Rust erstellte Version 2 von Sccache kann wie sein bekannteres Pendant Ccache ein lokales Verzeichnis auf dem Rechner zum Vorhalten der Dateien nutzen. Für den eigentlichen Zweck, das Vorhalten eines geteilten Compiler-Caches, wird derzeit der Simple Storage Service (S3) von Amazons Cloud-Angebot genutzt. Als Compiler unterstützt das Programm zurzeit GCC, Clang und MSVC.
Das Werkzeug soll künftig so erweitert werden, dass es auch außerhalb von Mozilla einfach eingesetzt werden kann, da es Probleme löse, die sicher auch andere Unternehmen haben.
- Anzeige Hier geht es zu Programmierung sicherer Systeme mit Rust bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.



