web-dev-qa-db-fra.com

Comment améliorer la vitesse de compilation de Golang?

J'essaie de trouver un moyen d'accélérer la compilation d'un programme Go. Il dure actuellement environ 30 secondes, ce qui ralentit le travail avec le projet.

Quand je lance go build -v, je vois que la plupart du temps est consacré à la compilation de go-sqlite3 (qui est relié à la bibliothèque C sqlite). Cependant, comme cette bibliothèque ne change jamais, je me demande s’il est possible d’empêcher l’outil de compilation de la recompiler à chaque fois.

29
this.lau_

Essayez go install -a github.com/mattn/go-sqlite3 qui installera le paquet compilé-contre-Go-1.3 dans votre $ GOPATH.

Actuellement, vous avez probablement une ancienne version installée sous $GOPATH/pkg/ et par conséquent, Go la recompile pour chaque génération.

44
elithrar

Ceci est probablement dû à votre mise à niveau vers la version 1.3

Je devais supprimer $ GOPATH/pkg pour me débarrasser des anciens fichiers binaires (incompatibles), puis il était capable de mettre en cache les résultats de la compilation.

3
David Budworth

Dans Go 1.10 pas besoin d'exécuter go install etc. Utilisez simplement go build. La nouvelle version utilise un cache de construction pour déterminer quels packages doivent être recompilés.

Découvrez: https://tip.golang.org/doc/go1.10

0
Inanc Gumus