Unnötige Neuerstellungen von Go Build
Der Build-Prozess von Go kann besonders langsam sein, insbesondere bei Programmen mit Cgo-Aufrufen. Um dieses Problem zu lösen, ist es verlockend, ein Makefile mit %-Regeln für das Caching zu nutzen. Laut den Sprachdesignern hat Gos Build-Unterstützung jedoch Makefiles überflüssig gemacht.
Alternative Lösungen
Die Go-Community bevorzugt eine alternative Lösung: einen Build-Cache, der von der verwaltet wird geh selbst befehlen. Dieser Cache speichert erstellte Pakete und Metadaten und optimiert den Build-Prozess durch die Wiederverwendung früherer Build-Schritte, wann immer möglich.
Implementierung und Vorteile
Ab Go 1.10 (Q1 2018), go build und go install haben diesen Build-Cache implementiert. Der Cache-Speicherort kann mithilfe der Umgebungsvariablen $GOCACHE festgelegt werden. Standardmäßig befindet es sich im Benutzer-Cache-Verzeichnis des Betriebssystems. Mit dem Befehl go clean -cache kann der Cache geleert werden, ohne die Protokolldatei zu löschen.
Der Build-Cache beschleunigt nicht nur die Befehle „go test“ und „go build“, sondern ermöglicht standardmäßig auch inkrementelle Builds. Benutzer müssen nicht mehr auf Problemumgehungen wie „go test -i“ oder „go build -i“ zurückgreifen, um schnelle inkrementelle Builds zu erreichen.
Das obige ist der detaillierte Inhalt vonWarum ist der Build-Cache von Go eine bessere Alternative zu Makefiles für schnellere Builds?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!