web-dev-qa-db-de.com

Wie kann die Geschwindigkeit der Golang-Kompilierung verbessert werden?

Ich versuche einen Weg zu finden, um die Kompilierung eines Go-Programms zu beschleunigen. Derzeit dauert es ungefähr 30 Sekunden, was die Arbeit mit dem Projekt verlangsamt.

Wenn ich go build -v ausführe, verbringe ich die meiste Zeit mit dem Kompilieren von go-sqlite3 (das auf die C sqlite lib verweist). Da sich diese Bibliothek jedoch nie ändert, frage ich mich, ob es möglich ist, zu verhindern, dass das Build-Tool dies jedes Mal neu kompiliert.

29
this.lau_

Probieren Sie go install -a github.com/mattn/go-sqlite3 aus, um das Paket compiled-against-Go-1.3 in Ihrem $ GOPATH zu installieren.

Im Moment haben Sie wahrscheinlich eine ältere Version unter $GOPATH/pkg/ installiert und Go kompiliert sie daher für jeden Build neu.

44
elithrar

Dies liegt wahrscheinlich daran, dass Sie ein Upgrade auf Version 1.3 durchführen

Ich musste $ GOPATH/pkg entfernen, um alte (inkompatible) Binärdateien zu entfernen, und dann konnte es die Kompilierungsergebnisse erneut zwischenspeichern

3
David Budworth

In Go 1.10 muss go install nicht ausgeführt werden. Verwenden Sie einfach go build. Die neue Version verwendet einen Build-Cache, um zu bestimmen, welche Pakete neu kompiliert werden müssen.

Check out: https://tip.golang.org/doc/go1.10

0
Inanc Gumus