Verbesserung der Build-Effizienz in Go: Cache-basierte Lösungen
Das Problem langsamer Build-Zeiten in Go, insbesondere bei kleinen CGO-basierten Programmen hat die Go-Community dazu veranlasst, nach alternativen Lösungen zu suchen. Die Befehle „go build“ und „go run“ waren in der Vergangenheit deutlich langsamer als erwartet, was zu dem Wunsch nach Verbesserungen führte Caching-Mechanismen.
Eine mögliche Lösung besteht darin, ein Makefile mit einer %-Regel zu verwenden. Wie die Go-Sprachdesigner jedoch vorschlagen, sollte die integrierte Build-Unterstützung von Go die Notwendigkeit externer Tools wie Makefiles überflüssig machen.
Glücklicherweise kommt eine deutliche Verbesserung. Go 1.10 wird voraussichtlich im ersten Quartal 2018 veröffentlicht und wird die Build-Geschwindigkeit von Go Build und Go Install erheblich verbessern. Der Go-Befehl verwaltet jetzt einen Cache und andere kleine Metadaten erstellter Pakete, die standardmäßig im vom Betriebssystem definierten Benutzer-Cache-Verzeichnis gespeichert werden, aber durch Festlegen von $GOCACHE verschoben werden können.
Die Hauptauswirkung dieses Build-Cache besteht darin, dass Befehle wie „go test“ und „go build“ schnell ausgeführt werden können und immer inkrementell erstellt werden, wobei vergangene Build-Schritte so intensiv wie möglich wiederverwendet werden. Dies bedeutet, dass Benutzer nicht mehr „go test -i“, „go build -i“ oder „go install“ verwenden müssen, um schnelle inkrementelle Builds zu erhalten.
Es ist erwähnenswert, dass go install keine Abhängigkeiten benannter Pakete installiert. Sie können mehr darüber erfahren, was dieser Befehl bewirkt, indem Sie „go build build what?“ lesen.
Das obige ist der detaillierte Inhalt vonWie kann Go 1.10 die Build-Effizienz verbessern, insbesondere für kleine CGO-basierte Programme?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!