2014-07-07 12 views
28

Ich versuche einen Weg zu finden, die Kompilation eines Go-Programms schneller zu machen. Momentan sind es ungefähr 30 Sekunden, was die Arbeit mit dem Projekt verlangsamt.Wie kann man die Golang-Übersetzungsgeschwindigkeit verbessern?

Wenn ich go build -v ausführen, sehe ich, dass die meiste Zeit damit verbracht wird, go-sqlite3 (die auf die C sqlite-Bibliothek verweist) zu kompilieren. 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? Diese

+2

Potential Duplikat: http://stackoverflow.com/questions/24341654/go-build-became-very-slow-after-installing-a-new-version-of-go – dyoo

+0

Die Kompilierungsgeschwindigkeit wird mit Go 1.10 (Q1 2018) verbessert: https://Stackoverflow.com/a/47109826/6309 – VonC

Antwort

43

Versuchen Sie go install -a github.com/mattn/go-sqlite3, die das kompilierte-gegen-Go-1.3-Paket in Ihrem $ GOPATH installieren wird.

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

3

ist wahrscheinlich auf Sie ein Upgrade gehen 1.3

Ich hatte $ GOPATH/PKG zu entfernen, um loszuwerden, alte (nicht kompatibel) Binärdateien und dann es in der Lage war Kompilierungsergebnissen zwischenzuspeichern wieder

0

In Go 1.10 muss go install usw. 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

Ja, das ist, was ich in den Kommentaren oben erwähnt habe, und in https://stackoverflow.com/ a/47109826/6309 – VonC

+0

Oh, tut mir leid, dass ich das verpasst habe. –

Verwandte Themen