2014-07-07 18 views
28

Bir Go programının daha hızlı bir şekilde derlenmesini sağlamaya çalışıyorum. Şu anda proje ile çalışmaya yavaşlatıyor yaklaşık 30 saniyedir.Golang derleme hızı nasıl geliştirilir?

go build -v'u çalıştırdığımda, çoğu zaman go-sqlite3 (C sqlite lib dosyasına yapılan bağlantılar) derlemek için harcanmış olduğunu görüyorum. Ancak, bu lib asla değişmediği için, derleme aracının her seferinde yeniden derlenmesini engellemenin mümkün olup olmadığını merak ediyorum.

+2

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

+0

Derleme hızı, Go 1.10 (Q1 2018) ile geliştirilecek: https://stackoverflow.com/a/47109826/6309 – VonC

cevap

43

önbelleğe başardı sonra $ GOPATH/pkg kaldırmak zorunda eski (uyumsuz) ikili kurtulmak nedeniyle Eğer 1.3

gitmek için yükseltme muhtemeldir Derlenmiş-karşı-Go-1.3 paketini $ GOPATH cihazınıza kuracak olan go install -a github.com/mattn/go-sqlite3'u deneyin.

Şu anda büyük olasılıkla $GOPATH/pkg/ altında yüklenmiş daha eski bir sürüme sahip olmanız ve dolayısıyla her derleme için yeniden derlemesi yapmanız gerekir.

3

Bu Bunun tekrar derleme sonuçlarını

0

Go 1.10'da go install vb. Çalıştırmaya gerek yoktur. Sadece go build kullanın. Yeni sürüm, hangi paketlerin yeniden derlenmesi gerektiğini belirlemek için bir derleme önbelleği kullanır.

atın: https://tip.golang.org/doc/go1.10

ait
+0

Evet, yukarıdaki yorumlarda bahsettiğim şey ve https://stackoverflow.com/ a/47109826/6309 – VonC

+0

Oh, üzgünüm onu ​​özledim. –