Подтвердить что ты не робот

Как улучшить скорость компиляции Голанга?

Я пытаюсь найти способ быстрее сделать компиляцию программы Go. В настоящее время около 30 секунд, что затрудняет работу с проектом.

Когда я запускаю go build -v, я вижу, что большую часть времени тратится на компиляцию go-sqlite3 (который ссылается на C sqlite lib). Однако, поскольку эта библиотека никогда не меняется, мне интересно, возможно ли предотвратить ее перекомпилирование каждый раз?

4b9b3361

Ответ 1

Попробуйте go install -a github.com/mattn/go-sqlite3, который установит пакет compiled-against-Go-1.3 в ваш $GOPATH.

В настоящий момент у вас, вероятно, установлена ​​более старая версия под $GOPATH/pkg/, и поэтому Go перекомпиляет ее для каждой сборки.

Ответ 2

Вероятно, это связано с обновлением версии 1.3

Мне пришлось удалить $GOPATH/pkg, чтобы избавиться от старых (несовместимых) двоичных файлов и затем он смог снова кэшировать результаты компиляции.

Ответ 3

В Go 1.10 нет необходимости запускать go install и т.д. Просто используйте go build. В новой версии используется кеш сборки, чтобы определить, какие пакеты необходимо перекомпилировать.

Отъезд: https://tip.golang.org/doc/go1.10